【发布时间】:2013-08-17 15:14:31
【问题描述】:
这里是jsfiddle 的确切问题。
对我来说,'dragenter' 事件 dataTransfer.files 在除 Firefox 之外的所有内容中都已正确定义。但是,“drop”事件始终具有正确的 dataTransfer.files,即使在 Firefox 中也是如此。
不确定这是否是 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);
其他人也有同样的结果吗?
这可能是一个沙盒限制,但我没有找到任何关于它的信息......
感谢任何和所有想法和答案:)。
【问题讨论】:
标签: javascript firefox drag-and-drop dom-events dragenter