mouseover와mouseout의 하위 요소 트리거에 대한 질문
이벤트 대상의 한 속성인related Target을 사용합니다. 이 속성은mouseover와mouseout 이벤트 목표 노드의 관련 노드의 속성을 판단하는 데 사용됩니다. 약간 돌지 않습니까? 간단하게 말하면mouseover 이벤트를 촉발할 때related Target 속성은 마우스가 방금 떠난 노드를 대표하고,mouseout 이벤트를 촉발할 때 마우스가 이동하는 대상을 대표합니다.물론 MSIE는 이 속성을 지원하지 않는다. -P, 그러나 이것은 대체적인 속성이 있다. 각각fromElement과toElement이다. 좀 군더더기가 없지 않은가. 하지만 나는 참았다. 글자의 뜻을 통해 여러분은 이 두 속성의 의미를 잘 아실 것이다. 여기는 설명이 많지 않다. 만약에 잘 모르면 인터넷에서 관련 자료를 찾아보셔도 된다.
function contains(parentNode,childNode){
return parentNode.contains ? parentNode != childNode && parentNode.contains(childNode) : !!(parentNode.compareDocumentPosition(childNode) & 16);
}
그것에 관하여 16:
먼저 여기를 보세요.
http://blog.csdn.net/huajian2008/archive/2009/03/05/3960343.aspx
인용하다
한 노드가 다른 노드의 조상인지 아닌지를 판단할 때
compareDocumentPosition이라는 함수를 발견했습니다.
프로그램의 쓰기 방법은:return!!(p.compareDocumentPosition(c) & 16);
왜 그런지 이상해지기 시작했어요.
왜냐하면 예전에 compareDocumentPosition을 사용해 본 적이 없어요.
그래서 되돌아오는 값이 뭔지 모르겠어요.
자료 조회를 거치다
테스트
다음은 compareDocumentPosition 반환 값의 요약입니다.
이 방법은 한 노드가 다른 노드의 후손(10-01010)인지 조상(20-)인지 앞(4-00100)인지 뒤(2-0)인지 같은 노드가 0[00000]인지 판단하는 데 쓰인다.
5비트 바이너리의 위치는 서로 다른 값을 나타냅니다.
위 조상
위 후대
위:앞
2위: 뒤
1위:자체
일치하는 값은 1이고 그 반대는 0입니다.
10100(20), 01010(10), 00100(4), 00010(2), 00000(0)
바로 이러한 값을 알았다
앞에 왜 & 올라가
일목요연하다
5위가 1일 때만 트루로 돌아와 한 노드가 다른 노드의 조상이라는 것을 증명한다.
또 하나 말하자면, 이 함수는 IE에서 지원되지 않지만, 문서에는 FF에서 원래 4였던 결과가 적혀 있는데, IE에서 2였는데, 어떻게 된 일인지 이해하지 못했다.
마지막 코드:
$e('.popbox').each(function (el){
addEvent(el,'mouseout',function(evt,el){
// console.log($q.event.getTarget(evt)==el,'$q.event.getTarget(evt)==el');
// console.log(evt,'evt');
// console.log(el,'el');
// console.log($q.event.getTarget(evt),'$q.event.getTarget(evt)');
// var tx = evt.target || evt.srcElement;
// console.log(tx,'tx');
var reltg = (evt.relatedTarget) ? evt.relatedTarget : evt.toElement;
// console.log(reltg,'reltg');
var _ic = el.contains ? el != reltg && el.contains(reltg) : !!(el.compareDocumentPosition(reltg) & 16);
// console.log(_ic,'_ic');
if(!_ic){
$e(el).hide();
}
},[el]);
});
적용:
http://act.vip.qq.com/privilege/templates/201002/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.