HTML5 ドラッグ可能 API を使用しようとしています (ただし、問題があることは認識しています)。これまでのところ、私が遭遇した唯一のショーストッパーは、dragover
またはdragenter
イベントが発生したときに何がドラッグされているかを判断する方法がわからないことです。
el.addEventListener('dragenter', function(e) {
// what is the draggable element?
});
イベントを発生させる最後の要素であると想定できることはわかってdragstart
いますが... マルチタッチ. e.dataTransfer.setData
fromを使用して一意の識別子をアタッチすることも試みましdragstart
たが、明らかにそのデータは/からアクセスできません。dragover
dragenter
このデータは、ドロップ イベント中にドロップが発生した場合にのみ利用可能になります。
それで、何かアイデアはありますか?
更新:この記事の執筆時点では、HTML5 のドラッグ アンド ドロップはどの主要なモバイル ブラウザーにも実装されていないようであり、実際にはマルチタッチについての主張は意味がありません。ただし、複数の要素を同時にドラッグすることを妨げないように見える仕様の実装全体で動作することが保証されているソリューションが必要です。
以下に実用的なソリューションを投稿しましたが、これは醜いハックです。私はまだより良い答えを望んでいます。