[英]How do I get clientX and clientY to work inside my “drag” event handler on Firefox?
Mozilla Firefox 3.x 在侦听“ondrag”事件时似乎有一个错误。 事件对象不报告被拖动对象的位置, clientX
、 clientY
和其他屏幕偏移都设置为零。
这是非常有问题的,因为我想根据被拖动的元素制作一个代理元素,当然,使用clientX
和clientY
来调整它的位置。
我知道有一些很酷的东西,比如 HTML5 中的setDragImage
但我想为浏览器之间的原生 DD 提供一个通用的抽象。
错误代码:
document.addEventListener('drag', function(e) {
console.log(e.clientX); // always Zero
}, false);
笔记:
此问题不会发生在其他事件( dragstart
、 dragover
)上,并且在拖动某些内容时无法捕获mousemove
事件。
我找到了一个解决方案,我在文档级别的“dragover”事件上放置了一个侦听器,现在我获得了可以通过全局共享对象公开的正确 X 和 Y 属性。
HTML 5 中的拖动事件在当今的浏览器中无法完全发挥作用。 要模拟拖放情况,您应该使用:
这总是对我有用。 如果您遇到任何问题,请再次联系,我可以提供一些示例。
祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.