0
私はHTML5ファイルのアップロードをビルドしています。ユーザーがウィンドウの上にファイルをドラッグしたときにドラッグセンターを起動させたいと思います。アイデアは、dragenterがライトボックススタイルのオーバーレイをトリガーして、ドロップゾーンを表示するというものです。ローカルコード/アイテムのドラッグがdragenterを引き起こさないようにする
ここは私のコードです。 (jQueryの)
$(window).bind('dragenter', function (e) {
e.stopPropagation();
e.preventDefault();
$('#uploadWrapper').show();
}).bind('dragexit', function (e) {
e.stopPropagation();
e.preventDefault();
$('#uploadWrapper').hide();
});
これが正常に動作しますが、ユーザーが画像や一部のテキストをつかみ、それをドラッグした場合、それはまた、DragEnterイベントをtrigers。何がドラッグされているのかわかる方法はありますか?実際のファイルだけがオーバーレイを表示するトリガーをアップロードするだけですか?
ありがとう...
悲しいことに、e.dataTransferがdragenterイベントで定義されていないようです。 'jQueryの(ウィンドウ).bind( 'のdragEnter'、機能(E){ \tにconsole.log(e.dataTransfer);} )' – Alex
ああ、それはjQueryの問題を引き起こしている...あなたはする必要がありますイベントオブジェクトまたはイベントオブジェクトによってアクセスしてください。 [その他のプロパティ]セクションまでスクロールします。 – ceprovence
YA!それだった!私はそれを見つけたはずだったので、今、愚かな気分に! 'for(n in ...')のコードの小さな誤植も 'for(i in ...')だったはずです。 – Alex