js 이벤트 처리 함수 간 이벤트 아 이 템 전체 여부
3209 단어 이벤트 처리 함수
dom.addEvent('click',fna);
dom.addEvent('click',fnb);
1:fna 에서 이벤트 아 이 템 에 추 가 된 속성 은 그 후에 집 행 된 fnb 함수 에서 이벤트 아 이 템 에 접근 할 수 있 습 니까?2:fna/fnb 함 수 를 실행 할 때의 이벤트 아 이 템 은 전체 Eventfna===Eventfnb 입 니까?표준 문서 가 너무 깁 니 다.어디 가 이곳 의 규칙 을 설명 한 것 입 니까?게 으 르 죠?Jquery live 바 인 딩 이벤트 의 실현 에 있어 서 중복 실 행 될 수 있 는 함수 liveHandler 는 이벤트 아 이 템 에 추가 로 주 는 liveFired 속성 에 의 해 첫 번 째 후에 실 행 될 liveHandler 입 니 다. 시작 즉,종료 함수:
if (event.liveFired === this || ...) {
return;
}
///....
event.liveFired = this;
테스트:
function a(e) {
e.abc = function() {
alert(a);
};
prevEvent = e;
prevIeEvent=window.event;
}
function b(e,event) {
e.abc(); //fn
alert(e === prevEvent); //true
if(event=window.event){
alert(event===e); //false
alert(event===prevIeEvent);//false
alert(event===prevEvent);//false
}
}
var t = document.getElementById("p");
if (t.addEventListener) {
t.addEventListener('click', a, false);
t.addEventListener('click', b, false)
} else {
t.attachEvent('onclick', b);
t.attachEvent('onclick', a)
}
네 이 티 브 바 인 딩 이벤트 방식[addEvent Listener,attachEvent]에 대해 서 는 여러 실행 함수 간 이벤트 아 이 템(매개 변 수 를 통 해 전달 되 는 이벤트)이 완전 하고 IE 에 서 는 window.event 형식 으로 얻 은 이벤트 아 이 템 이 완전 하지 않 습 니 다.매개 변 수 를 통 해 전달 되 는 이벤트 와 도 완전 하지 않 습 니 다.거품 사건:
dom.addEvent('click',fna);
domParentNode.addEvent('click',fnb);
jquery 에서 trigger 형식 으로 사건 을 촉발 할 때 거품 사건 간 함수 중의 이벤트 아 이 템 은 전등이다.실제 사용자 행동 이 촉발 하 는 사건 은 같은 물건 이 아니다.사용자 정의 속성 도 전달 되 지 않 습 니 다.수치 설정 은 진정한 originalEvent 에 영향 을 주지 않 습 니 다.네 이 티 브 바 인 딩 이벤트 방식[addEventListener,attachEvent]:
function a(e) {
e.abc = function() {
alert(a);
};
prevEvent = e;
prevIeEvent=window.event;
}
function b(e,event) {
alert(e.abc); //fn
alert(e === prevEvent); //true
if(event=window.event){
alert(event===e); //false
alert(event===prevIeEvent);//false
alert(event===prevEvent);//false
}
}
var t = document.getElementById("p");
if (t.addEventListener) {
t.addEventListener('click', a, false);
document.body.addEventListener('click', b, false);
} else {
t.attachEvent('onclick', a);
document.body.attachEvent('onclick', b);
}
결 과 는 attachEvent 바 인 딩 이벤트 시 IE 에서 거품 사건 간 함수 내 이벤트 아 이 템 이 일치 하지 않 습 니 다.FF 등 은 addEventListener 로 전체 대상 입 니 다.사실 비 IE,이벤트 대상 Propagation 간 의 처리 함수 나 dom 노드 가 촉발 하 는 여러 함수 간 의 이벤트 아 이 템 은 전등이다.바 인 딩 형식[addEventListener/DOM]과 는 무관 합 니 다.한편,IE 에 서 는 dom 노드 와 만 촉발 되 는 여러 함수 간 에 매개 변 수 를 통 해 전달 되 는 Event 개체(attachEvent)가 전등이다.