これが正確な問題のjsfiddleです。
私にとって、「dragenter」イベント dataTransfer.files は、Firefox 以外のすべてで正しく定義されています。ただし、Firefox であっても、「ドロップ」イベントには常に正しい dataTransfer.files があります。
これが Firefox (21.0 および現在は 23.0.1) のバグであるかどうかは不明ですが、Mac OS と Windows の両方で発生しています。
および完全なコード:
function preventDefault(_e) {
_e.preventDefault();
}
var dropZone = document.getElementById('drop-zone');
dropZone.addEventListener("dragstart", preventDefault, false);
dropZone.addEventListener("dragleave", preventDefault, false);
dropZone.addEventListener("drag", preventDefault, false);
dropZone.addEventListener("dragend", preventDefault, false);
dropZone.addEventListener("dragover", preventDefault, false);
dropZone.addEventListener("dragenter", function(_e) {
_e.preventDefault();
console.log(_e.dataTransfer.files);
}, false);
dropZone.addEventListener("drop", function(_e) {
_e.preventDefault();
console.log(_e.dataTransfer.files);
}, false);
他の人も同じ結果ですか?
サンドボックスの制限かもしれませんが、それについては何も見つかりませんでした...
あらゆるアイデアと回答を歓迎します:)。