onmousemove = null在IE中不起作用

时间:2012-08-22 20:26:33

标签: javascript internet-explorer events drag

我正在尝试了解拖动如何在原生javascript中运行。我在研究它之后做了一个简单的javascript函数。

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

除IE之外,它适用于所有浏览器!

问题是我可以在设置document.onmousemove = null

后拖动元素

我甚至无法提供一步一步的用例,因为它是随机发生的。

我在谷歌检查了其他js样本,他们有同样的问题。其中一个是http://ratfactor.com/misc/programming/simpledrag/test.html

这是IE的已知问题还是有解决方法?

3 个答案:

答案 0 :(得分:1)

通常使用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中提供完全相同的功能对象。

答案 1 :(得分:1)

尝试使用document.onmousemove = function(){return false;}

答案 2 :(得分:0)

我必须在IE的body标签上设置 onselectstart =“return false;”。我认为这是导致问题的原因。我仍然没有线索..