我有一个自定义的可拖动元素(拖动开始于单击并结束于单击),它可以放在某些区域。在鼠标悬停区域决定它是否接受当前可拖动,并分别改变它的颜色。一切都像一个魅力,直到客户决定应将可拖动元素定位在光标的上方和左侧,这就是故事的开始。
当我移动它时,我意识到鼠标悬停事件现在转到可拖动区域,而不是该区域。我做了一些搜索,发现了魔法
pointer-events:none
CSS 属性。不幸的是,它在 IE9 中不起作用,它是我们的目标浏览器。
这是一个简单的例子:http: //jsfiddle.net/q9njK/5/
问题是:我可以让它在 IE9 中以比直接观看 mousemove 并计算指针指向的区域更简单的方式工作吗?
Edit_1:“直接观看mousemove”我的意思是这样的解决方案: http: //jsbin.com/uhuto在mousemove的情况下它会很慢而且很难看。好吧,我知道,“缓慢而丑陋”是 IE 的座右铭,但如果某个地方存在更优雅的解决方案,我想知道它。
Edit_2:似乎 IE9pointer-events: none
甚至不支持 SVG(这是一个示例,在 IE9 中不起作用:http: //jsfiddle.net/q9njK/9/),所以除了绑定到 document.mousemove 之外别无他法。或者是吗?