为什么当鼠标仅移动到内部元素时会触发 onMouseOver 事件?

发布于 2024-11-07 13:43:36 字数 323 浏览 3 评论 0原文

当鼠标悬停到内部元素时,首先触发外部元素的 mouseOut 事件,然后触发内部元素的 mouseOver 事件,最后触发 mouseOver内部元素的 元素最后被触发。

为什么会出现这种情况?因为从技术上讲,内部元素仍然位于外部元素的内部,因此当鼠标移入内部元素时,鼠标不会离开外部元素。有办法防止这种情况吗?

完整示例如下: http://jsfiddle.net/pMCeu/4/

When the mouse hovers into the inner element, the mouseOut event for the outer element is fired first, then the mouseOver element for inner element is fired, then the mouseOver element for the inner element is fired last.

Why does this happen? Because the inner element technically is still inside of the outer element, so the mouse doesn't leave the outer element when it moves into the inner element. Is there a way to prevent that?

Full example here: http://jsfiddle.net/pMCeu/4/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独享拥抱 2024-11-14 13:43:36

为了避免这种情况,您应该使用 mouseenter 和 mouseleave 而不是 mouseover 和 mouseout。

这是由于事件冒泡。请查看这篇文章了解更多信息。

To avoid this you should use mouseenter and mouseleave instead of mouseover and mouseout.

It is due to event bubbling. take a look at this post for a little more info.

寻梦旅人 2024-11-14 13:43:36

您好,上面的解决方案是正确且完整的。
但你也可以使用 mousemove 事件

Hi the solution above is correct and complete.
but you can also use mousemove event

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文