拖放在Chrome中工作,而不是Firefox

drag and drop working in chrome, not firefox

本文关键字:Firefox 工作 Chrome 拖放      更新时间:2023-09-26

下面是一个拖放图像的示例(来自Andy Olsen的"HTML5 Power Workshop"课程):http://aorbaroquethrash.com/dragdrop/

您必须将图像从桌面拖动到黄色方块。

它在chrome中工作,但不能在火狐中工作,为什么?

有一个类似的帖子:拖放在火狐中不起作用它说使用"dataTransfer.setData",但我认为它不适用于我的例子。

在我的示例中,我使用 var allTheFiles = event.dataTransfer.files;...

帕特里克

该网站有一个错误。代码如下:

// Handles drop events.
function onDrop(mouseEvent) {
...
    // Get the first file dragged by the user.
    var allTheFiles = event.dataTransfer.files;
    var firstFile = allTheFiles[0];
…
}

event.dataTransfer.files应该是mouseEvent.dataTransfer.files.

它在Chrome中工作的原因显然是Chrome实现了非标准的IE风格的window.event,而Firefox则没有。

这是一个更正的小提琴,可以在Firefox,Chrome,Safari甚至IE10中工作(测试)。