我有一个自定义的可拖动元素(拖动开始于点击并结束于点击),它可以被放置在某些区域。鼠标悬停区域决定是否接受当前可拖动,并分别改变其颜色。一切都很顺利,直到客户决定将可拖动元素放置在光标的上方和左侧,这就是故事的开始。
当我移动它时,我意识到鼠标悬停事件现在转到可拖动对象,而不是区域。我做了一些搜索,发现了魔法
pointer-events:none
CSS 属性。不幸的是,它在 IE9 中不起作用,它是我们的目标浏览器。
这是一个简单的示例:http://jsfiddle.net/q9njK/5/
问题是:我能否以一种比直接观察 mousemove 并计算指针现在指向哪个区域更简单的方式让它在 IE9 中工作?
Edit_1:“直接观察 mousemove”是指这样的解决方案:http://jsbin.com/uhuto在 mousemove 的情况下,它会很慢而且很难看。嗯,我知道,“缓慢而丑陋”是 IE 的座右铭,但如果某个地方存在更优雅的解决方案,我想知道。
Edit_2:似乎 IE9 不支持 pointer-events: none
即使是 SVG(这里有一个例子,在 IE9 中不工作:http://jsfiddle.net/q9njK/9/),所以除了绑定(bind)到 document.mousemove。或者是?
最佳答案
不,相信我;我试过了
遇到了与您完全相同的问题,结果我用头撞墙,只发现您做了什么;指针事件有效,但在 IE9 中无效。
您将不得不使用 js 来克服这个问题 - 抱歉。
祝一切顺利
-莱德杰
关于javascript - 通过拖动元素传递鼠标悬停事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915203/