hover:首先通过查看Jquery源码,可以得到,hover就是对mouseenter/的封装。
目标对象 A,具有子元素B。
mouseover和mouseenter,区别:
mouseover/mouseout:鼠标进入对象A会触发相应事件mouseover,当鼠标在A内进行滑动,进入B时,被判定为离开了A,将会触发对象A的mouseout,当离开B时,继续触发对象A的mouseover。
所以有时候你发现事件有闪烁的情况,可能就是因为这个原因。
mouseenter/mouseleave:鼠标进入对象A会触发相应事件mouseenter,鼠标退出对象A时才触发mouseleave。
并不会出现mouseover/mouseout的闪烁bug。