一応ドラッグ&ドロップのテストやってみた
一応ドラッグ&ドロップのテストやってみました。
マウスドラッグでのfixed要素の移動だが、
dragstartでイベント発生位置の要素からのオフセット記憶しておいて、
ondragoverで要素を移動して、
dataTransfer.dropEffectはnoneにしておけばdropとかdragendイベントは使う必要ない感じで、結構簡単にできそう。
PCのFirefoxでは、ドラッグ時に元要素はそのまま表示されて薄くドラッグ中のものが表示されるが、
最初にオフセット記憶しておいてずらせば元の要素とドラッグ中の表示を重ねられたんで、移動しているように見せられた。
ただ、
dragoverイベントはmousemoveと同じように移動のたびに発生したが、
必ず常時発生するものなのか怪しい・・・
あと、座標のずれがブラウザ依存な可能性もあり、
エフェクトと要素を完全に重ねられない可能性もあるかもしれない。
てなわけで、PCでは一応うまくいってはいるんだが、
Androidで試したら、ドラッグ&ドロップにならんかった・・・
やっぱ、タッチイベント使うしかないんかな・・・
既存コード改造するのにそっちのほうが楽そうではあるが、
PCと共通コードにならないからちょっとコードが増えちゃうな。