在js中mouseover和 mouseenter的区别浅析

2023-06-01 区别 浅析 js

mouseover和 mouseenter是两种不同的JavaScript事件。

mouseover事件在鼠标指针移动到元素上方或其子元素上方时触发。

mouseenter事件则是在鼠标指针进入元素时触发,但不会在其子元素上触发。

举个例子:

如果你有一个 div 元素,其中包含一个 p 元素,

并且为这两个元素都添加了 mouseover 和 mouseenter 事件监听器,

当鼠标指针移动到 p 元素上方时,mouseover 事件会在 div 和 p 元素上同时触发,

而 mouseenter 事件只会在 div 元素上触发。


还有一点需要注意的是,mouseover 和 mouseenter 事件有一个重要的区别,

就是当鼠标指针从子元素移动到父元素时,

mouseover 事件会在父元素上再次触发,而 mouseenter 事件不会。

例如:

如果你有一个 div 元素,其中包含一个 p 元素,

并且为这两个元素都添加了 mouseover 和 mouseenter 事件监听器,

当鼠标指针从 p 元素移动到 div 元素时,

mouseover 事件会在 div 元素上再次触发,

而 mouseenter 事件不会。


总的来说

mouseover 事件会在鼠标指针移动到元素或其子元素上方时触发,

并且在鼠标指针从子元素移动到父元素时会再次触发。

而 mouseenter 事件只在鼠标指针进入元素时触发,

不会在其子元素上触发,也不会在鼠标指针从子元素移动到父元素时再次触发。

相关文章