JavaScript中mouseover和mouseout多次触发解决办法

¥10.00

我有两个div元素,div1包裹着div2,想在经过div1时显示div2,div2移开时隐藏。

 $("#div1").mouseover(function(){

                $(this).children().fadeIn(1000);

            }).mouseout(function(){

                $(this).children().fadeOut(1000);

            });

这样写会触发两次mouseout方法!

最佳解决方案

主要是因为存在js冒泡问题,可以使用jquery的mouseenter和mouseleave方法

1.mouseover与mouseenter

不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。

只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。

2.mouseout与mouseleave

不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。

只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。

嗝屁猫 T2 被采纳率89%
2020-07-02 17:58
打赏 0 1
页面统计
1352 访问
0 帮助
0.00 打赏

hierror 2019 © hierror.com 京ICP备13026190号-1

通知消息
  • 暂无任何消息