嗨,我正在实现一个可视化编辑器,允许用户将图像拖到页面上,并将其他图像拖到这些先前拖动的图像内(有点像“添加其他图像”)。
我基本上只需要在拖动过程中使用鼠标坐标:元素隐藏等...我会基于这些坐标使用自定义函数。
问题是,在Webkit上,我可以通过event.clientX和event.clientY获取它们,而在Firefox(v.16.0.1 OSX)下,在拖动过程中,它们的“对应” pageX和pageY始终为零。
但是,在mouseMove期间它们不为零。
我很聪明,我做了一个
$(document).on(“mouseMove”,function(e){_ PX = e.pageX,_PY = e.pageY})
总是拥有最新的PageX和PageY,所以我可以在onDrag处理程序中使用它们,但是...
在拖放操作期间OnMouseMove不会触发:( :(
在DnD期间,有什么方法可以获取Mouse X和Y?我不想让我的代码过于困惑,因为它应该(并且已经可以)在不同的平台上但在Firefox上工作。
有人可以给我一些指示吗?
提前感谢。
最佳答案
抱歉,我在这里找到了答案:
How do I get clientX and clientY to work inside my "drag" event handler on Firefox?
我已经这样解决了:
(___NODRAGEVENT=$.browser.mozilla)
&& $(document)
.on("dragover",function(e) {
e=e.originalEvent;
___PAGEX=e.clientX||e.pageX;
___PAGEY=e.clientY||e.pageY;
});
我真的感到惊讶和困惑,因为onDragOver确实包含clientX和clientY。他们为什么不将****填充到ondrag事件中?
关于events - FireFox onDrag Pagex PageY始终为零;(,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13110349/