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(冒泡)。