基于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之带图片的下拉列表框插件
Mar 04 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
Feb 28 Javascript
js判断主流浏览器类型和版本号的简单实现代码
May 26 Javascript
在localStorage中存储对象数组并读取的方法
Sep 24 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
Nov 29 Javascript
文件上传插件SWFUpload的使用指南
Nov 29 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
vue计算属性computed的使用方法示例
Mar 13 Javascript
layui 表单标签的校验方法
Sep 04 Javascript
JS代码优化的8点建议
Feb 04 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
May 29 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
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
Python与shell的3种交互方式介绍
2015/04/11 Python
在Python中编写数据库模块的教程
2015/04/29 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
暑假实习求职信范文
2013/09/22 职场文书
高级工程师岗位职责
2013/12/15 职场文书
股东协议书范本
2014/04/14 职场文书
宣传口号大全
2014/06/16 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS