HTMLドラッグアンドドロップAPIは、2つの非常によく似たイベントdragleave
とdragexit
を定義しています。これはdragenter
と一緒に、現在のドロップターゲットを追跡するのに役立ちます。dragexitとdragleaveはどちらを使うべきですか?
クイック検索では、2つのイベント、別のものと別のものを使用する必要があるときの最新の明確な文書は表示されませんでした。
- 各イベントが発生したことになっているときのHTML specification詳細な説明をしているが、それは、いくつかの暗号解読が必要です。
私は私がこれまでに見つかったリソースを共有します。
- MDNドキュメント(HTML Drag and Drop APIおよび個々のdragexit/dragleaveページ)は言って、助けの多くではありません「要素は、もはやドラッグ操作の直接の選択対象であるときのdragExitイベントがトリガされません。」/"dragleaveイベントは、ドラッグされた要素またはテキスト選択が有効なドロップターゲットを残したときに発生します。"とdragexit(2017-03現在)のブラウザサポートに関する情報がありません
- Dottoro's dragexit docs(Googleの別のトップヒットの1つ)は古くなっていると主張し、「dragexitイベントはFirefox 3.5では廃止されました。代わりにondragleaveイベント。そこに参照さ
- Mozilla's bug 619703とW3C bug 11568これら二つのイベントの歴史にいくつかの光を当てる:
dragexit
火災:IEは、少なくとも主な違いは、イベントの順序であること、dragleave
を実現しながらのGecko/Firefoxが最初にdragexit
を実装するように- が見えます対応する前に
dragenter
、dragleave
、混乱して、後に発生します。 - HTML5仕様では最初はIEのセマンティクスで
dragleave
しか定義されていませんでしたが、後で(〜2013)はdragexit
をMozillaのセマンティクスで追加しました。 - GeckoはFirefox 3.5(2009)では
dragexit
と同義ですが、後で(4.0、〜2011?)と同義語に変更しているようですが、dragleave
が実装されているようです。 - caniuse は、HTMLドラッグ&ドロップAPIは、多かれ少なかれ最新ブラウザでサポートされていることを示しているが、私はChromeでそれをMDNからコードサンプルを採取し走っている。具体的
- が見えます対応する前に