1. 원본 이벤트 모델
이벤트 유형 : "입력 이벤트 (예 : Onclicki)"및 "Semantic Events (예 : OnSubmit)"로 나뉩니다.
이벤트 프로그램 등록은 다음과 같은 방식으로 수행 할 수 있습니다.
1. JS 코드는 HTML 속성 값으로 코드입니다
코드 사본은 다음과 같습니다. <input type = "button"value = "me"onclick = "alert ( 'throw');";
2. 이벤트 핸들러는 JS 속성으로
참고 : 문서의 각 HTML 요소에는 문서 트리에 해당 JS 객체가 있습니다. 이 JS 객체의 속성은 해당 HTML 요소의 특성에 해당합니다. HTML 특성의 JS 코드이든 JS 속성의 시간 핸들러이든 자체 속성은 기능 "함수"입니다.
다음과 같이 코드를 복사하십시오. <form name = "f1">
<입력 이름 = "b1"type = "button"value = "me"/>
</form>
첫 번째 과제 방법 :
코드 사본은 다음과 같습니다. document.f1.b1.onclick = function () {alert ( 'thank');};
두 번째 할당 방법 :
코드 사본은 다음과 같습니다. function plead () {window.status = "제발 나를 눌러!";}
document.f1.bi.onmouseover = 간청;
JS 속성으로 JS 속성으로 이벤트 핸들러가 JS 속성으로 명시 적으로 호출 할 수 있습니다.
코드 사본은 다음과 같습니다. document.myfrom.onsubmit ();
이벤트 핸들러는 Fale을 반환하여 브라우저가 OnSubmit과 같은 일반적으로 사용되는 작업, 이벤트의 기본 동작을 수행하지 못하게 할 수 있습니다. 예외는입니다
Hyperlink 마우스 오버의 창시 표시 이벤트의 차단은 true를 반환하는 것입니다. 예를 들어:
다음과 같이 코드를 복사하십시오. <a href = "help.htm"onmouseover = "window.status = 'help'; return true;"> 도움말 </a>
2. DOM2 이벤트 모델
이 모델은 W3C에 의해 공식화 된 사양 인 IE 버블 모델을 참조하여 공식화됩니다. 원래 모델에서 이벤트 핸들은 이벤트가 발생하면 직접 호출되며 다른 이벤트 전파 프로세스가 없습니다. DOM2 모델에서 이벤트는 특별 전파 프로세스가 있으며, 이는 3 단계로 나뉩니다.
(1) 캡처 단계 : 이벤트는 문서에서 대상 요소로 전파됩니다. 이 과정에서 조상 요소가 이벤트에 관심이있는 경우 자체 처리 기능을 등록 할 수 있습니다.
(2) 대상 단계 : 이벤트는 대상 요소에 도달하고 대상 요소의 이벤트 처리 기능을 실행합니다.
(3) 버블 링 단계 : 이벤트는 대상 요소에서 문서까지 상승합니다. 모든 이벤트 유형이 캡처 위상 단계를 거치지 만 일부 이벤트 만 버블 링 단계 단계를 거치게됩니다. 예를 들어 제출 이벤트는 떠 다니지 않습니다.
전체 이벤트 전파 프로세스 중에 이벤트 전파를 중지하기 위해 event.stopPropagation ()을 호출 할 수 있으며 브라우저의 기본 동작을 차단하기 위해 예방을 호출 할 수 있습니다.
코드 사본은 다음과 같습니다. addeventListener ( "eventtype", "handler", "true! false");
removeEventListner ( "EventType", "handler", "true! false");
IE 모델
IE 모델은 또한 이벤트의 자세한 정보를 캡슐화하는 이벤트 객체를 제공하지만 IE는 객체를 이벤트 처리 기능으로 전달하지 않습니다. 언제든지 하나의 이벤트 만 있으므로 이벤트는 글로벌 객체 창의 속성으로 간주됩니다. IE의 이벤트 전파 모드는 DOM2의 두 번째 및 세 번째 단계에 해당합니다. 먼저 대상 요소의 처리 기능이 실행되고 업로드가 문서에 도달합니다. 마우스 이벤트 만 IE에서 캡처 할 수 있습니다. 모든 이벤트는 DOM2에서 캡처 할 수 있습니다. IE에서 이벤트 처리 기능을 등록하고 삭제하는 방법도 DOM2와 다릅니다.
이벤트 핸들러의 등록 및 삭제는 요소의 attachmentevent ( "eventtype", "handler") 및 DetacheVent ( "eventtype", "handler")를 통해 이루어집니다. DOM2와 달리 EventType에는 접두사가 있습니다
특징:
1. 전파 과정은 기포 만 기포를냅니다. 거품을 방해하는 방법 :
Window.ecent.cancelBubble = true;
2. 이벤트 객체는 이벤트 핸들러의 함수 매개 변수가 아니라 창의 전역 변수입니다.
3. 이벤트 등록 기능 : att
4. NetScape4 이벤트 모델
Netscape는 개발을 완전히 멈추는 것처럼 보이므로 자세히 설명하지는 않습니다. 간단히 말해서, 그것은 단지 잡히고 거품이 아닙니다.
위는 JavaScript 이벤트 모델에 대한 기본 소개입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.