7
HTML5ファイルリーダーAPIを扱うjavascriptが見つかりました。それは純粋なjavascriptで書かれています。私はそれをjQueryスクリプトに変換しています。しかし、この時点で立ち往生しています。なぜこのプレーンJavaScriptが動作し、同等のjQueryが失敗するのですか?
これは動作します:
document.getElementById('drop-area').addEventListener('drop', function(e) {
e.preventDefault();
e.stopPropagation();
console.log(e.dataTransfer.files); // outputs the right stuff
}, false);
これは失敗します。この問題を解決する
$('#drop-area').on('drop', function(e) {
e.preventDefault();
e.stopPropagation();
console.log(e.dataTransfer.files); // ERROR: e.dataTransfer is undefined
});
何?
同等のコードをお持ちの場合は、純粋なJSを使用するのはなぜですか? – Markasoftware
@ Markasoftware私のアプリケーションの残りの部分はjQueryを使用しています。むしろ、統一コードベースを持っています。また、このスクリプトの一部には、jQueryとはるかにクリーンな/苦痛のないカスタムDOM操作が含まれています。 – TK123
@ TK123一様なコードベースが必要な場合は、単純なJavaScriptを使用してください。結局のところ、 '+'演算子でさえJavaScriptであるため、jQueryを使うだけで矛盾しています。 –