0

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

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

它在chrome中工作,但不是firefox,为什么?

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

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

帕特里克

4

1 回答 1

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 没有。

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

于 2013-10-17T00:39:15.930 回答