HTML5を業務アプリで使うための勉強会 # 3

今回はDrag & Drop APIを取り上げました。 ドラッグとドロップで起きるイベントの種類についてと、 要素にドラッグ&ドロップのイベントを仕込む方法について。 また、データをやりとりするためのDataTransferについてなど。
4
GDG Okayama @gdgokayama

本日のHTML5を業務アプリで使うための勉強会# 3は、先週と同じ倉式珈琲店 青江店で19:00から行います。現地集合で、到着後は店に入って場所を確保して下さい。 内容はほぼDrag and Dropになる予定です。 #gdgchugoku

2013-04-04 06:31:01
taknb2nch @taknb2nch

今日も入ってすぐの場所を確保しています。 #gdgchugoku

2013-04-04 18:47:31
パトラッシュ@中間管理職 @patorash

カスタムデータについて。data-という属性を付けることができる。 #gdgchugoku

2013-04-04 19:11:16
パトラッシュ@中間管理職 @patorash

カスタムデータ属性にアクセスできるブラウザだったら、JavaScriptでelement.dataset.****でアクセスできる。対応していない場合はgetAttribute("data-****")で取れるが、プレフィクスのdata-が必要。 #gdgchugoku

2013-04-04 19:12:59
パトラッシュ@中間管理職 @patorash

今日のメインはドラッグ&ドロップAPI #gdgchugoku

2013-04-04 19:16:53
パトラッシュ@中間管理職 @patorash

ドラッグ&ドロップは2種類。1.ブラウザ内でのやつ 2.デスクトップからブラウザのやつ。 #gdgchugoku

2013-04-04 19:18:45
パトラッシュ@中間管理職 @patorash

今日はブラウザ内ドラッグ&ドロップ #gdgchugoku

2013-04-04 19:19:16
パトラッシュ@中間管理職 @patorash

ドラッグ&ドロップが使えるか?('draggable' in div)みたいにすると、draggableというプロパティがあるかどうかを確認できるらしい。フムー。 あ、divはcreateElement('div')したやつ。 #gdgchugoku

2013-04-04 19:23:23
パトラッシュ@中間管理職 @patorash

ほぼすべての要素がdraggable="true"を追加するとドラッグ可能になる。 #gdgchugoku

2013-04-04 19:24:09
パトラッシュ@中間管理職 @patorash

img, aでhrefが設定されているものは、デフォルトでドラッグ対応されてる。 #gdgchugoku

2013-04-04 19:24:56
パトラッシュ@中間管理職 @patorash

dropzone。ドロップされる側につける属性。 #gdgchugoku

2013-04-04 19:25:43
パトラッシュ@中間管理職 @patorash

draggable="false"が設定されている要素はドラッグできない。 #gdgchugoku

2013-04-04 19:27:44
パトラッシュ@中間管理職 @patorash

jQueryでゴリゴリ書いていたのが、draggable="true"と多少のJavaScriptで動くと。 #gdgchugoku

2013-04-04 19:31:17
パトラッシュ@中間管理職 @patorash

でもIEから取り込まれた機能は実はたくさんあるよという話。 #gdgchugoku

2013-04-04 19:34:41
パトラッシュ@中間管理職 @patorash

dropzoneのことが書かれている本があんまりないらしい。 #gdgchugoku

2013-04-04 19:35:34
パトラッシュ@中間管理職 @patorash

ドラッグ対象: dragstart, drag, dragend ドロップ対象: drag enter, drag leave, drag over, drop #gdgchugoku

2013-04-04 19:36:47
パトラッシュ@中間管理職 @patorash

e.preventDefault()でイベントの伝搬を止める。ドラッグされた要素の親までイベントが通知されるのを止める。 #gdgchugoku

2013-04-04 19:45:01
パトラッシュ@中間管理職 @patorash

ドラッグ&ドロップのどちらのイベントにも対応するサンプルだったのでどちらにも対応するように書いていくとちょっと混乱するよという説明。 #gdgchugoku

2013-04-04 19:48:28