您的位置:首页 > Web前端 > JavaScript

javascript mouseover、mouseout停止事件冒泡的解决方案

2009-04-07 00:00 656 查看
在IE里有onmouseleave和onmouseenter, 而对于要兼容各大浏览器的Web开发人员来说还是一件头疼的事。
虽然网上已经有针对Mozilla Firefox的一些计策,但代码量也是不容乐观的。
想寻求比较好的解决方案,于是就翻遍了国内的大小网站,终一无所获,不得不硬着头皮去读国外网站,结果是理想的,因为W3C里有relatedTarget,于是就有了下边的解决方案:
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); 
}

在onmouseover和onmouseout里做如上判断。
作者:lxsgoodluck
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: