ドラッゲンドロップぅ
- dragstart
- drag
- dragenter
- dragleave
- dragover
- drop
- dragend
- ドラッグしたい要素には
draggable
属性にtrue
を指定する必要がある - 一部要素は最初からドラッグ可能。
img
とか
- ドロップを受け付ける要素の
dragover
イベント内でpreventDefault()
をする - これによってその要素が
drop
を許可することを示す dragover
イベントは要素の上にカーソルが間、連続してイベントが発生し続ける- 処理は書かないほうがよい
-
データの受け渡しは
event.dataTrasnfer
オブジェクトを通じて行う -
dataTransfer.setData('key', value)
-
dataTransfer.getData('key')
-
key:valueはStringで
- ドラッグ開始時にドラッグするゴースト画像を設定できる
- 画像のパス or
img
要素が指定できる
- スタイルあてるのめんどくさい
- z-indexに左右される
- ドラッグ対象が不可視になると
dragend
になる - 自分自身にも
drop
できるdragenter``dragleave
なども全部発生する
img
をつかんじゃうdiv
を掴みたいならその下のimg
をdraggable=false
しとく
- HTML5なのです
- 標準なのです