我是靠谱客的博主 老实火车,这篇文章主要介绍扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁,现在分享给大家,希望可以做个参考。

解决思路如下:
首先,判断事件的当前节点,也就是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时内部有子元素时发生样式闪烁的全部内容,更多相关扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(224)

评论列表共有 0 条评论

立即
投稿
返回
顶部