zl程序教程

您现在的位置是:首页 >  其他

当前栏目

基于mouseout和mouseover等类似事件的冒泡问题解决方法

事件方法 问题 解决 基于 类似 冒泡 mouseout
2023-06-13 09:15:12 时间

最近写点东西,比较闹心,一个弹出层,上边有其他元素,本意是鼠标离开弹出层时,执行一些动作,但在实际应用中,鼠标离开弹出层中的元素时,也会激活这些动作。试了各浏览器的停止事件冒泡的方法,均无效。

还是咱们javaeye里高人众多,在一个哥们博客中发现了如下代码:

复制代码代码如下:

 functionisMouseLeaveOrEnter(e,handler){   
      if(e.type!="mouseout"&&e.type!="mouseover")returnfalse;   
       varreltg=e.relatedTarget?e.relatedTarget:e.type=="mouseout"?e.toElement:e.fromElement;   
       while(reltg&&reltg!=handler)   
           reltg=reltg.parentNode;   
       return(reltg!=handler);   
   }

这个方法是判断,当前元素是不是要执行mouseout事件的元素,这样就可以避免上述问题。