dib多层嵌套时mouseout事件停止事件冒泡的解决方案
2015-02-04 10:32
267 查看
今天遇到一个问题,一个页面上有多层的div嵌套时,写在最外层DIV上的mouseout事件在鼠标移到里层的DIV时也会触发到。这是因为DIV嵌套时,当鼠标移动到内层DIV时已经超出了外层DIV的监听范围,所以会调用到外层DIV中的mouseout事件,解决办法是可以在调用鼠标移出事件前加上以下的判断代码,当返回true时才调用要执行的方法即可。
停止事件冒泡方法:
停止事件冒泡方法:
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事件也有效。
相关文章推荐
- mouseover、mouseout停止事件冒泡的解决方案
- mouseover、mouseout停止事件冒泡的解决方案
- javascript mouseover、mouseout停止事件冒泡的解决方案
- javascript mouseover、mouseout停止事件冒泡的解决方案
- mouseover、mouseout停止事件冒泡的解决方案
- wpf 控件多层嵌套,事件冒泡对动画效果的影响
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- jquery mouseout事件冒泡解决方法
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- jq冒泡事件解决方案的区别
- 基于mouseout和mouseover等类似事件的冒泡问题解决方法
- Android viewpager 嵌套 viewpager滑动 点击事件冲突解决方案
- 关于js中的冒泡事件和html默认事件解决方案
- JS停止事件冒泡
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- javascript事件冒泡的一种解决方案
- iframe 多层嵌套 无限嵌套 高度自适应的解决方案
- js阻止浏览器的默认行为以及停止事件冒泡
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )