疫情過后回武漢的第一天打卡,今天偶然遇到一個問題onmouseover 、onmouseout 與onmouseenter 、onmouseleave這些事件的區別,也看了一些博客,感覺不是很清楚,所以也寫了一下自己的理解,略做分享和學習。
首先我們都知道onmouseover和onmouseenter都屬於鼠標進入的狀態,onmouseout和onmouseleave都是鼠標移開的狀態,那么我們來看看主要區別。
一般來說,onmouseover、onmouseout一起使用,鼠標經過時自身觸發事件,經過其子元素時也觸發該事件,每經過一次子元素都觸發該事件,屬於不斷觸發;onmouseenter、onmouseleave:鼠標經過時自身或者其子元素都觸發事件,但是只觸發一次。
代碼演示效果如下:
執行onmouseover、onmouseout時,鼠標經過子元素a和b時,顏色都會再次變化,而onmouseenter、onmouseleave子元素a和b的移動不會引起顏色的再次變化