Javascript firefox中的HTML5拖放操作未按预期工作
我正在用JS和HTML5实现一个文件处理器,它在Chome中正常工作,但在Firefox中没有 以下是JSFIDLE: 在Firefox中,drop事件被转发到浏览器,浏览器打开文件,而不是由我的脚本处理。它的行为就像我在一个空标签上掉了什么东西 我做错了什么?我曾尝试使用getElementById并重写ondrop方法从jQuery更改为本机DOM,但结果相同 谢谢,Javascript firefox中的HTML5拖放操作未按预期工作,javascript,html,file,firefox,drag-and-drop,Javascript,Html,File,Firefox,Drag And Drop,我正在用JS和HTML5实现一个文件处理器,它在Chome中正常工作,但在Firefox中没有 以下是JSFIDLE: 在Firefox中,drop事件被转发到浏览器,浏览器打开文件,而不是由我的脚本处理。它的行为就像我在一个空标签上掉了什么东西 我做错了什么?我曾尝试使用getElementById并重写ondrop方法从jQuery更改为本机DOM,但结果相同 谢谢, Apoc好吧,请参见。这是基于你父亲的例子。不知道为什么,但dragover事件不是通过FF14中的$.bind或addEv
Apoc好吧,请参见。这是基于你父亲的例子。不知道为什么,但dragover事件不是通过FF14中的$.bind或addEventListener函数绑定的。这个例子很肮脏,但它是有效的。如果我找到更好的解决方案,我会写信。据我所知,您的基本问题是您没有取消您试图捕获的元素上的
dragover
事件。在这种情况下,drop
事件被忽略。以下是我添加的代码:
$('#topDiv').bind("dragenter dragover", function(e) {
e.preventDefault();
return false;
});
我还从代码中删除了
$(document).ready
,并将JSFIDLE设置为运行所有JS onDomReady,但我认为这并没有多大区别 正如@robertc所指出的,没有取消的是dragover
事件,也是您所做的。谢谢顺便问一下,你怎么知道是这样的?