2012-02-11 60 views
1

我基本上试图在浏览器中构建相应的萤火虫检查器。我目前使用的<body>如本示例中的容器:如何使用Javascript从一个mouseover事件中排除一个元素?

container.onmouseover = function(ev) { inspect(ev.target); } 

在检查方法中,我重新定位和重新调整的半透明固定定位元件在所述元件从所述事件目标返回。但是,这会导致mouseover事件随后检查覆盖元素本身。

我基本上希望事件处理程序完全忽略叠加元素(它只存在提供视觉反馈),并继续触发其下面检测到的元素的小事件事件。这有意义吗?

+0

这个问题与事件冒泡有关吗? – 2012-02-11 07:43:36

+0

@PaulNikonowicz是的,我认为是的。我希望将元素排除在事件链之外。谢尔曼先生的回答是用CSS实现的。 – 2012-02-11 07:47:50

回答

1

如果您不必支持所有浏览器,那么您可以使用css属性pointer-events。设置为none时,所有事件都将被忽略。尝试在这个小提琴中切换指针事件,看看我的意思。

http://jsfiddle.net/zDygA/

Browser support

pointer-events:none; 

我讨厌链接,但是这是一个很好的文章,如果您需要支持IE浏览器。

http://www.vinylfox.com/forwarding-mouse-events-through-layers/

+0

太棒了!这正是我想要达到的。 – 2012-02-11 07:27:31