2

document.ondrop 似乎适用于 chrome,但不适用于 Firefox?

附上一个例子: http ://auth.letschat.info/test2.php

如果您将文件放到页面上,它应该会弹出一个警告框。但是它在 Firefox 中不起作用,但在 chrome 中起作用。

当我使用 firefox 控制台时,正确设置了 document.ondrop 处理程序。

4

1 回答 1

7

假设原始 javascript 看起来像这样并在 Chrome 中工作:

document.ondrop=function(event){
    alert("hello");
}

它可以更改为在 Firefox 和 Chrome 中工作。Firefox 要求您在拖动文件时停止执行默认操作,这可以通过使用 ondragover 事件来解决。以下 javascript 代码也适用于 Firefox:

document.ondragover = function(event){
    event.preventDefault();
}
document.ondrop=function(event){
    alert("hello");
}

我通过查看w3schools并寻找他们的简单示例和您的代码之间的差异找到了这个解决方案。

在幻灯片 #18 上的html5rocks中,还有一个 html5 示例,通过将侦听器添加到页面来使用拖放的另一种方式。

于 2012-07-23T07:17:34.547 回答