>  기사  >  웹 프론트엔드  >  마우스 오버를 처리하기 위해 Jquery 플러그인을 확장할 때 inside_jquery 하위 요소가 있으면 스타일 깜박임이 발생합니다.

마우스 오버를 처리하기 위해 Jquery 플러그인을 확장할 때 inside_jquery 하위 요소가 있으면 스타일 깜박임이 발생합니다.

WBOY
WBOY원래의
2016-05-16 17:58:321196검색
해결 방법은 다음과 같습니다.
먼저 이벤트의 현재 노드, 즉 jquery의 currentTarget이 대상, 즉 다음 확장자 $.containsNode에 포함되어 있는지 확인합니다.
그런 다음 hover가 호출될 때 mouseover 및 mouseout 이벤트에서 currentTarget이 대상, 즉 $.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;
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.