我试图找出拖动在 native JavaScript 中的工作原理。经过研究,我做了一个简单的javascript函数。
它在所有浏览器上都能正常工作,除了 IE!
问题是即使设置了 document.onmousemove = null
我什至无法提供一步一步的用例,因为它是随机发生的。
我在google上查看了其他js示例,他们也有同样的问题。其中之一是http://ratfactor.com/misc/programming/simpledrag/test.html
这是 IE 的已知问题还是有解决方法?
最佳答案
通常使用 document.addEventListener("mousemove", eventHandler)
添加事件,并使用 document.removeEventListener("mousemove", eventHandler)
删除事件。
第一个参数是事件的类型,第二个参数是处理程序的名称。
不幸的是,据我所知,不可能删除匿名处理程序函数或计算处理程序函数。所以这不起作用:
document.addEventListener("mousemove", function() { eventHandler(); });
document.removeEventListener("mousemove", function() { eventHandler(); });
document.addEventListener("mousemove", getEventHandlerFunc());
document.removeEventListener("mousemove", getEventHandlerFunc());
您必须在 document.removeEventListener
中提供完全相同的函数对象。
关于javascript - onmousemove = null 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080875/