如何解决鼠标移动到子元素 会触发父元素的mouseout事件

Posted lcf1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决鼠标移动到子元素 会触发父元素的mouseout事件相关的知识,希望对你有一定的参考价值。

方法一. 用mouseleave/mouseenter代替mouseover/mouseout【最佳方法】

mouseover与mouseenter

mouseover  => 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
mouseenter => 只有在鼠标指针从元素外穿入被选元素(到元素内)时,才会触发 mouseenter 事件。

mouseout与mouseleave

mouseout => 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
mouseleave => 只有在鼠标指针从元素内穿出被选元素(到元素外)时,才会触发 mouseleave 事件。

方法二:利用e.stopPropagation()阻止事件进一步传播

e.stopPropagation()会终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

以上是关于如何解决鼠标移动到子元素 会触发父元素的mouseout事件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Javascript 中移动子元素时触发一次鼠标事件?

鼠标移动到一个元素上,会触发该元素的一个世界,jquery中表示该事件的方法是?

将元素附加到子元素会触发父元素中的 drop 事件

Firebug:如何检查随鼠标移动而变化的元素?

鼠标事件

解决内部元素onMouseOver/onMouseOut事件冒泡触发父元素的相应事件