手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
摘要:解决思路如下:首先,判断事件的当前节点,也就是jquery的currentTarget是否在target的包含中,即下面的扩展$.conta...

解决思路如下:

首先,判断事件的当前节点,也就是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;

}

【扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁】相关文章:

JavaScript深度复制(deep clone)的实现方法

jQuery插件bgStretcher.js实现全屏背景特效

基于jquery实现下拉框美化特效

Node.js开发者必须了解的4个JS要点

Javascript通过overflow控制列表闭合与展开的方法

js去字符串前后空格的实现方法

基于Web标准的UI组件 — 树状菜单(2)

jQuery取消ajax请求的方法

动态加载iframe

javascript中动态函数用法

精品推荐
分类导航