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

时间:2013-11-18    点击:96   

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

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

复制代码 代码如下:

  function isMouseLeaveOrEnter(e, handler) {   
        if (e.type != 'mouseout' && e.type != 'mouseover') return false;   
         var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;   
         while (reltg && reltg != handler)   
            reltg = reltg.parentNode;   
         return (reltg != handler);   
     }

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

jQuery客户端分页实例代码
javascript验证身份证完全方法具体实现
Jquery通过Ajax访问XML数据的小例子
YUI模块开发原理详解
深入领悟JavaScript中的面向对象
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved