我想找出在原生javascript中拖拽是如何工作的。在研究之后,我做了一个简单的javascript函数。
http://jsfiddle.net/FKM5S/1/
它在所有浏览器上都工作得很好,除了IEs!
问题是,即使在设置了document.onmousemove = null之后,我也可以拖动元素
我甚至不能提供一步一步的用例,因为它是随机发生的。
我在google上查看了其他的js示例,他们也有同样的问题。其中之一就是http://ratfactor.com/misc/programming/simpledrag/test.html
这是IE的已知问题还是有解决方法?
发布于 2012-08-23 04:31:46
通常使用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中提供完全相同的函数-对象。
发布于 2012-08-23 04:40:41
尝试使用document.onmousemove = function(){return false;}
发布于 2012-08-23 06:09:06
我不得不在I的主体标记上设置onselectstart="return false;"。我认为这就是问题所在。不过我还是不知道..
https://stackoverflow.com/questions/12080875
复制相似问题