我想做的是一个面板来添加你的图像,它可以旋转、缩放、移动和裁剪。用户应该能够通过拖动来移动图像。
该应用程序在 Chrome、IE、Opera 和 Safari 中运行良好,但由于某种原因,拖动在 Firefox 上不起作用。调试代码我看到事件dragover
没有被触发,但控制台没有显示任何错误,所以我真的不知道出了什么问题。
我想做的是一个面板来添加你的图像,它可以旋转、缩放、移动和裁剪。用户应该能够通过拖动来移动图像。
该应用程序在 Chrome、IE、Opera 和 Safari 中运行良好,但由于某种原因,拖动在 Firefox 上不起作用。调试代码我看到事件dragover
没有被触发,但控制台没有显示任何错误,所以我真的不知道出了什么问题。
根据MDN 的 Drag operations 文档,您需要setData
进入事件的dataTransfer
属性DragStart
。
在您的情况下,该函数CanvasMouseDown(e)
是#picture
's的事件处理程序DragStart
,因此您应该在该函数的某个地方调用:
e.dataTransfer.setData( datatype, datacontent );
下面,我将您的示例更新为 set text/plain
,这足以“让它工作”,因为您正在拖动而不是放下。image/xxx
在后一种情况下,设置xxx
适当的格式(例如png
,或)会更有意义jpeg
。
工作代码。(通过 Firefox 25.0.1、Win 7 SP 1 验证。)