Firefoxのdiv
にファイルをドロップした後、ウェブページがこのファイルにリダイレクトされます。私はdrop
ハンドラでjQueryのe.preventDefault()
を使ってこの伝搬を止めようとしましたが失敗しました。`drop`イベントの後にリダイレクトを止めるには?
#test
にファイルをドロップすると、ウェブページはリダイレクトされませんが、#test1
にドロップすると、その理由がわかります。 の後に伝播を防ぐには、ハンドラを常にdragenter
、dragover
、dragleave
およびdrop
にバインドする必要がありますか?
更新:
私たちがしなければならないすべては、dragOverイベントをキャンセル で、私たちは、この要素にドロップすることができ、ブラウザを伝えるために:
私はhtml5doctor上のいくつかのヒントが見つかりました。しかし、IEの動作が異なるため、 はdragenterイベントに対して同じ処理を行う必要があります。
とMozilla claims:
リスナー
dragenter
とdragover
イベントが に使用されているためには、それは、ドラッグしたアイテムを ドロップすることができる場所で、有効なドロップターゲットを示しています。
しかし、私は、Firefox、#test
作品や#test1
にthis demoをテストするには、Mozillaがミスを犯したようだしない、とhtml5doctorは右です:Firefoxは唯一drop
仕事をするためにdragover
を必要とします。
ああ、1を発見しました。 'dragenterイベントとdragoverイベントのリスナーは、有効なドロップターゲットのhttps://developer.mozilla.org/En/DragDrop/Drag_Operations#Specifying_Drop_Targetsを示すために使用されます。しかし、私のデモは「ドラッグセンター」なしで動作します:http://jsfiddle.net/mKtn2/6/ – Rufus
ありがとう!これはChromeでナットを運転していた –