【js】mouseout、mouseleave、mouseenter、mouseover之间的区别

3 阅读1分钟

mouseout 和 mouseleave

mouseout: 只要鼠标指针移出事件所绑定的元素或其子元素,都会触发该事件
mouseleave: 只有鼠标指针移出事件所绑定的元素时,才会触发该事件

在绑定事件元素没有子元素的时候两个方法没有任何区别,但是如果是存在子元素的时候,mouseout会被触发多次(移出到外部和移出到子元素上都会触发);mouseleave则只会被触发一次

mouseenter 和 mouseover

mouseover: 只要鼠标指针移入事件所绑定的元素或其子元素,都会触发该事件
mouseenter: 只有鼠标指针移入事件所绑定的元素时,才会触发该事件

和上面基本上相同。存在子元素的时候mouseover会被触发多次,mouseenter只会被触发一次

【相关链接】www.jianshu.com/p/2f9c3c765…