您好我正在实施一个可视化编辑器,允许用户将图像拖到页面上,并将其他图像拖到这些先前拖动的图像中(“添加另一个图像”)。
我基本上只需要拖动时的鼠标坐标:元素hiliting等...我根据这些坐标自定义函数。
问题是,在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期间,我有什么办法可以获得鼠标X和Y吗?我不想让我的代码混乱,因为它应该(并且已经存在)在不同的平台上工作,但是在firefox上。
有人可以给我一些指示吗? 提前完成。
答案 0 :(得分:6)
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事件中?