原因:mouseout => 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。因为绑定mouseout事件的父div里通常会嵌套子div,鼠标虽然未移出父元素,却移出了其中的子元素,故事件会被触发。
解决:用 mouseleave代替mouseout
总结:
mouseover与mouseenter
mouseover => 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
mouseenter => 只有在鼠标指针从元素外穿入被选元素(到元素内)时,才会触发 mouseenter 事件。
mouseout与mouseleave
mouseout => 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
mouseleave => 只有在鼠标指针从元素内穿出被选元素(到元素外)时,才会触发 mouseleave 事件。