javascript - onmousemove = null 在 IE 中不起作用

标签 javascript internet-explorer events drag

我试图找出拖动在 native JavaScript 中的工作原理。经过研究,我做了一个简单的javascript函数。

http://jsfiddle.net/FKM5S/1/

它在所有浏览器上都能正常工作,除了 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/

相关文章:

javascript - 没有模型的 Backbone.js datepicker 事件监听器

javascript - 使用 r.js 优化 javascript 文件

javascript - 文本悬停属性不起作用

java - 具有动态可见性的不可点击元素/操作

c# - 如何在 .net 中获取对 Internet Explorer 窗口句柄的引用

Windows 上的 Docker-for-selenium

javascript - 在任一方向平滑滚动文档

javascript - 如何像 console.log 一样在 winston 中记录 JavaScript 对象和数组?

android - 如何从android中的日历事件中获取开始时间和结束时间?

javascript - 静态图像的图像加载