二者的本质区别在于,mouseenter
不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover
就会被它的子元素影响到,在触发子元素的时候,mouseover
会冒泡触发它的父元素.(想要阻止mouseover
的冒泡事件就用mouseenter
)
共同点:当二者都没有子元素
时,二者的行为是一致的,但是二者内部都包含子元素时,行为就不同了.
mouseover
与mouseenter
不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。
mouseout
与mouseleave
不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
参考 & 引用
https://blog.csdn.net/lplife/article/details/80436623
https://www.jb51.net/article/73228.htm