onmouseover、onmouseout

在事件处理函数中使用 取消事件冒泡(onStopPropagation、cancelBubble)是没有用的,因为 onmouseover、onmouseout 的连带触发类似捕获行为,无法通过阻止事件冒泡来达到效果。 例如给嵌套 div 的外层盒子添加上 mouseover 和 mouseout 事件,在穿过其内层盒子时,也会触发 mouseover 和 mouseout 事件。

onmouseenter、onmouseleave

只绑定在当前元素本身,不存在冒泡行为。

⭐️ 结论

mouseout、mouseover 和 mouseleave、mouseenter 最大的区别,在于子元素连带触发。