html5ドラッグ アンド ドロップ APIを使用してカレンダーを作成しています。
と を使用dragEnter
しdragLeave
て、受信要素のスタイルを設定し、ドロップパビリティを決定しています。
受信側のドロップ可能な要素には子がありdragLeave
、子要素をドラッグすると呼び出されます。この問題は既知であり、ここで説明されています。
私が試みた解決策は、子dragLeave
にイベントを追加しdragEnter
、ロジックをparentViewに戻すことでした。
これがコードです。http://jsbin.com/iHaNuPo/17
問題は、子の「dragEnter」が親の「dragLeave」の前に呼び出されることです。
これがイベントの順序です。
#in from outside parent to over child
1. parent-enter
2. child-enter
3. parent-leave
#out from over child to outside parent
1. parent-enter
2. child-leave
3. parent-leave
これはバグですか?
dragLeave
子供の上にカーソルを置いたときに親のイベントが発生するのを防ぐ Ember 風の方法を知っている人はいますか?
dragLeave
または、イベントが発生する順序を修正する方法はありますdragEnter
か?
HTML5ネイティブのドラッグアンドドロップを捨てて、jquery uiのドラッグ可能/ドロップ可能を使用する必要がありますか?
編集
これは、Woody's answer による実際の例です。