怎么為非IE瀏覽器添加mouseenter,mouseleave?添加方法說明

先了解幾個事件對象屬性
target 指事件源對象,點擊嵌套元素最里層的某元素,該元素就是target 。IE6/7/8對應的是srcElement 。
currentTarget 指添加事件handler的元素本身,如el.addEventListener中el就是currentTarget 。IE6/7/8沒有對應屬性,可在handler內使用this來替代如evt.currentTarget = this 。
relativeTarget 指事件相關的元素 , 一般用在mouseover,mouseout事件中 。IE6/7/8中對應的是fromElement,toElement 。
mouseenter ,mouseleave IE9中仍然支持,另見 Greg Reimer 的博文 Goodbye mouseover, hello mouseenter。
mouseenter與mouseover區別在于:在元素內部移動時mouseenter不會觸發 。如下

怎么為非IE瀏覽器添加mouseenter,mouseleave?添加方法說明

怎么為非IE瀏覽器添加mouseenter,mouseleave?添加方法說明

了解了這三個屬性的意義后 , 實現起來就簡單了:
怎么為非IE瀏覽器添加mouseenter,mouseleave?添加方法說明

怎么為非IE瀏覽器添加mouseenter,mouseleave?添加方法說明

【怎么為非IE瀏覽器添加mouseenter,mouseleave?添加方法說明】

相關經驗推薦