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

Why is onMouseOver event fired when the mouse only moves into an inner element?

本文关键字:onMouseOver 事件 元素 内部 鼠标 移动 为什么      更新时间:2023-09-26

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

为什么会这样?因为内部元素在技术上仍然在外部元素的内部,所以鼠标在移动到内部元素时不会离开外部元素。有没有办法防止这种情况发生?

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

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

这是由于事件冒泡。 看看这篇文章以获取更多信息。

嗨,上面的解决方案是正确的和完整的。但您也可以使用鼠标移动事件