如何在firefox中做document.ondrop?

Sam*_*r83 2 javascript firefox html5 google-chrome

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

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

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

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

tim*_*998 7

假设原始javascript看起来像这样并且在Chrome中有效:

document.ondrop=function(event){
    alert("hello");
}
Run Code Online (Sandbox Code Playgroud)

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

document.ondragover = function(event){
    event.preventDefault();
}
document.ondrop=function(event){
    alert("hello");
}
Run Code Online (Sandbox Code Playgroud)

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

从幻灯片#18上的html5rocks,还有一个html5示例,通过向页面添加侦听器来使用拖放的另一种方法.