5

我有一个自定义的可拖动元素(拖动开始于单击并结束于单击),它可以放在某些区域。在鼠标悬停区域决定它是否接受当前可拖动,并分别改变它的颜色。一切都像一个魅力,直到客户决定应将可拖动元素定位在光标的上方和左侧,这就是故事的开始。

当我移动它时,我意识到鼠标悬停事件现在转到可拖动区域,而不是该区域。我做了一些搜索,发现了魔法

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 之外别无他法。或者是吗?

4

1 回答 1

-1

不,相信我;我试过了

遇到了和你完全相同的问题,结果把我的头撞到墙上,只发现你做了什么;指针事件有效,但在 IE9 中无效。

您将不得不使用 js 来克服这个问题 - 抱歉。

一切顺利,

-莱德杰

于 2012-10-17T21:56:36.467 回答