所以,给定这个代码:
var container = document.getElementById("body");
container.addEventListener("dragenter", noopHandler, false);
container.addEventListener("dragover", noopHandler, false);
container.addEventListener("drop", function(evt) {
noopHandler(evt);
console.log('drop');
console.log(evt.dataTransfer.files);
}, false);
在Chrome和FF中,evt.dataTransfer.files包含用户在页面上删除的所有文件。
但在IE10中,没有evt.dataTransfer.files。文件对象根本不存在。
有什么想法吗?
最佳答案
文件在IE10中确实存在,甚至在IE DEV中心记录:http://msdn.microsoft.com/en-us/library/ie/hh580307(v=vs.85).aspx
您可能有一个javascript错误或与his无关的错误。但是,您可以检查文件对象是否存在。
if(typeof FileList !== 'undefined')
如果文件浏览器存在于浏览器中,这应该是正确的。如果返回false,则意味着您可能没有使用IE10。
关于javascript - 是什么导致event.dataTransfer.files在IE10中为null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15794877/