画布中的dragover事件不会在firefox上触发

时间:2013-11-14 18:17:47

标签: javascript html html5 firefox

我要做的是添加图像的面板,可以旋转,缩放,移动和裁剪。用户应该能够通过拖动来移动图像。

该应用程序在Chrome,IE,Opera和Safari中运行良好,但由于某些原因,拖动功能无法在Firefox上运行。调试代码我发现事件dragover没有被触发,但是控制台没有显示任何错误,所以我真的不知道出了什么问题。

Here's my demo

1 个答案:

答案 0 :(得分:1)

根据MDN's documentation of Drag operations,您需要setData进入dataTransfer事件的DragStart属性。

在您的情况下,函数CanvasMouseDown(e)#picture的{​​{1}}的事件处理程序,因此您应该在该函数的某处调用:

DragStart

下面,我更新了您的示例以设置e.dataTransfer.setData( datatype, datacontent ); ,这足以“让它正常工作”,因为您正在拖动而不是正在删除。在后一种情况下,设置text/plain哪个image/xxx是适当的格式(例如xxxpng)会更有意义。

Working code.(已通过Firefox 25.0.1,Win 7 SP 1验证。)