mouseleave和mouseenter区别
关键点:冒泡的方式处理问题
例:
<div class="aaron2">
<p>鼠标离开此区域触发mouseleave事件</p>
</div>
如果p元素和div元素都绑定了mouseover事件,当鼠标离开了p元素区域却没有离开div元素时:
1.p元素响应事件
2.div元素响应事件
由于js的事件冒泡特性,导致触发p元素的mouseover时,他会一直向上查找,同时触发了父元素的mouseover。
所以在这种情况下,推荐使用mouseenter
mouseenter事件只会在绑定它的元素上被调用,而不会在后代节点上被触发.
类似的还有focus,focusin(冒泡)。blur,focusout(冒泡)。