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事件。
请帮忙!
答案 0 :(得分:16)
我找到了一个解决方案,我在文档级别的“dragover”事件中放置了一个监听器,现在我得到了可以通过全局共享对象公开的正确的X和Y属性。
答案 1 :(得分:3)
HTML 5中的拖动事件在当今的浏览器中并不完全正常。要模拟拖拽情况,您应该使用:
这一直对我有用。如果您遇到任何问题,请再次联系,我可以提供一些示例。
祝你好运!答案 2 :(得分:0)