扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁


Posted in Javascript onDecember 08, 2011

解决思路如下:
首先,判断事件的当前节点,也就是jquery的currentTarget是否在target的包含中,即下面的扩展$.containsNode。
然后,在调用hover的时候的mouseover和mouseout事件里判断currentTarget是否在target的包含中,即$.fn.fhover扩展
下面就是相关代码:

$.containsNode = function(parentNode, childNode) { 
if (parentNode.contains) { 
return parentNode != childNode && parentNode.contains(childNode); 
} else { 
return !!(parentNode.compareDocumentPosition(childNode) & 16); 
} 
} 
$.fn.fhover = function(over, out) { 
this.hover(function(e) { 
if ($.containsNode(e.target, e.currentTarget)) { 
return; 
} 
over.call(this, e); 
}, function(e) { 
if ($.containsNode(e.target, e.currentTarget)) { 
return; 
} 
out.call(this, e); 
}); 
return this; 
}
Javascript 相关文章推荐
解决js正则匹配换行问题实现代码
Dec 10 Javascript
JQuery中使文本框获得焦点的方法实例分析
Feb 28 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
Nov 02 Javascript
jQuery获取字符串中出现最多的数
Feb 22 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
微信小程序  生命周期详解
Oct 27 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
JavaScript实现星星等级评价功能
Mar 22 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
Feb 05 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 #Javascript
基于jquery的代码显示区域自动拉长效果
Dec 07 #Javascript
5个javascript的数字格式化函数分享
Dec 07 #Javascript
TimergliderJS 一个基于jQuery的时间轴插件
Dec 07 #Javascript
autoPlay 基于jquery的图片自动播放效果
Dec 07 #Javascript
浅析Prototype的模板类 Template
Dec 07 #Javascript
js 幻灯片的实现
Dec 06 #Javascript
You might like
php截取中文字符串不乱码的方法
2013/12/25 PHP
PHP排序算法类实例
2015/06/17 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
使用python实现baidu hi自动登录的代码
2013/02/10 Python
python模块之StringIO使用示例
2015/04/08 Python
十个Python程序员易犯的错误
2015/12/15 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
对python模块中多个类的用法详解
2019/01/10 Python
Python3 修改默认环境的方法
2019/02/16 Python
python实现学员管理系统
2019/02/26 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
荷兰本土平价百货:HEMA
2017/10/23 全球购物
临床医学专业学生的自我评价分享
2013/11/21 职场文书
计算机专业学生求职信分享
2013/12/15 职场文书
教职工代表大会主持词
2014/04/01 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
培训研修方案
2014/06/06 职场文书
导师工作推荐信
2015/03/27 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android
Android中View.post和Handler.post的关系
2022/06/05 Java/Android