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


Posted in Javascript onNovember 18, 2013

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

还是咱们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事件的元素,这样就可以避免上述问题。
Javascript 相关文章推荐
extjs 学习笔记(二) Ext.Element类
Oct 13 Javascript
JavaScript 面向对象的之私有成员和公开成员
May 04 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
使用window.prompt()实现弹出用户输入的对话框
Apr 13 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
深入理解js中的加载事件
Feb 08 Javascript
详解webpack异步加载业务模块
Jun 23 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
Sep 17 Javascript
微信小程序实现多选删除列表数据功能示例
Jan 15 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 Javascript
JavaScript实现HSL拾色器
May 21 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 #Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 #Javascript
jquery cookie的用法总结
Nov 18 #Javascript
JS JSON对象转为字符串的简单实现方法
Nov 18 #Javascript
javascript获取ckeditor编辑器的值(实现代码)
Nov 18 #Javascript
js 页面元素的几个用法总结
Nov 18 #Javascript
封装的jquery翻页滚动(示例代码)
Nov 18 #Javascript
You might like
php allow_url_include的应用和解释
2010/04/22 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
JavaScript面向对象精要(上部)
2017/09/12 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Linux下python制作名片示例
2018/07/20 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
vscode调试django项目的方法
2020/08/06 Python
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
搬家公司的创业计划书
2014/01/01 职场文书
同学会邀请书大全
2014/01/12 职场文书
搞笑征婚广告词
2014/03/17 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
无私奉献演讲稿
2014/09/04 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
三峡大坝导游词
2015/01/31 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
在js中修改html body的样式
2021/11/11 Javascript
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js