当鼠标悬停在内部元素上时,mouseOut
首先触发外部元素的事件,然后mouseOver
触发内部元素的mouseOver
元素,最后触发内部元素的元素。
为什么会这样?因为内部元素在技术上仍然在外部元素的内部,所以鼠标在移动到内部元素时不会离开外部元素。有没有办法防止这种情况?
完整示例:http: //jsfiddle.net/pMCeu/4/
当鼠标悬停在内部元素上时,mouseOut
首先触发外部元素的事件,然后mouseOver
触发内部元素的mouseOver
元素,最后触发内部元素的元素。
为什么会这样?因为内部元素在技术上仍然在外部元素的内部,所以鼠标在移动到内部元素时不会离开外部元素。有没有办法防止这种情况?
完整示例:http: //jsfiddle.net/pMCeu/4/
为避免这种情况,您应该使用 mouseenter 和 mouseleave 而不是 mouseover 和 mouseout。
这是由于事件冒泡。看看这篇文章了解更多信息。
嗨,上面的解决方案是正确且完整的。但你也可以使用 mousemove 事件