繁体   English   中英

如何使用 Javascript 从鼠标悬停事件中排除元素?

[英]How can I exclude an element from a mouseover event with Javascript?

我基本上是在尝试在浏览器中构建相当于萤火虫检查器的东西。 我目前在此示例中使用<body>作为容器:

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

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

我基本上希望事件处理程序完全忽略覆盖的元素(它只是为了提供视觉反馈而存在)并继续为在其下方检测到的元素触发onmouseover事件。 这有意义吗?

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

http://jsfiddle.net/zDygA/

浏览器支持

pointer-events:none;

我讨厌链接出去,但是如果您需要支持 IE,这是一篇很好的文章。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM