所以,给定这个代码:

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/

10-12 15:52