ホームページ  >  記事  >  ウェブフロントエンド  >  マウスオーバーを処理するために Jquery プラグインを拡張すると、_jquery 内に子要素があるとスタイルがちらつきます。

マウスオーバーを処理するために Jquery プラグインを拡張すると、_jquery 内に子要素があるとスタイルがちらつきます。

WBOY
WBOYオリジナル
2016-05-16 17:58:321196ブラウズ
解決策は次のとおりです。
まず、イベントの現在のノード、つまり jquery の currentTarget がターゲット、つまり次の拡張子 $.containsNode に含まれているかどうかを判断します。
次に、hover が呼び出されたときのマウスオーバーイベントとマウスアウトイベントで、currentTarget がターゲット、つまり $.fn.fhover 拡張子に含まれるかどうかを判断します。
以下は関連するコードです。
コードをコピー コードは次のとおりです。

$.containsNode = function(parentNode, childNode) {
if (parentNode.contains) {
returnparentNode != 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)
});
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。