拖放工作在chrome,而不是Firefox

时间:2013-10-16 20:32:35

标签: javascript firefox drag-and-drop

这是拖放图像的示例(由Andy Olsen的课程“HTML5 power workshop”提供): http://aorbaroquethrash.com/dragdrop/

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

它正在使用chrome,但不是firefox,为什么?

有一个类似的帖子: drag and drop not working in firefox 它说使用“​​dataTransfer.setData”,但我认为它不适用于我的例子。

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

帕特里克

1 个答案:

答案 0 :(得分:1)

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

// 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却没有。{/ p>

以下a corrected fiddle可在Firefox,Chrome,Safari甚至IE10中运行(测试)。