1. 버블링 이벤트 브라우저 이벤트 모델은 캡처 이벤트와 버블링 이벤트의 두 가지 유형으로 나뉩니다. IE에서는 이벤트 캡처를 지원하지 않으므로 다음에서는 주로 버블링 이벤트를 설명으로 사용합니다. (더빙 버블링) 버블링은 가장 구체적인 이벤트부터 가장 덜 구체적인 이벤트까지 이벤트가 하나씩 발생하는 것을 의미합니다. 코드 복사 코드는 다음과 같습니다. ')">나를 클릭하세요 > 본문> <br> 기능 추가(sText) {<br> var ulo = document.getElementById("display");<br> ulo.innerHTML = sText;<br> }<br> <br> <br></p> </div> 위의 세 가지 함수는 모두 onclick 함수를 추가합니다. 세 가지 함수는 모두 p 요소가 먼저 실행되고 그 다음 div, 마지막으로 body가 실행됩니다.<p> </p>그런데, 버블링 이벤트와 순서가 정확히 반대인 이벤트 캡처에 대한 알림입니다. <p> </p> <p>2. 이벤트 모니터링<strong></strong> </p>이벤트에는 응답하는 함수가 필요합니다. 이러한 유형의 함수를 일반적으로 이벤트 핸들러라고 합니다. 다른 관점에서 이러한 함수는 이벤트 수신 함수(enevt 리스너)라고 합니다. 이벤트 청취 기능은 브라우저마다 크게 다릅니다. <p> </p>i. onclick 방법과 같은 보편적인 청취 방법은 거의 모든 태그가 이 방법을 지원합니다. 그리고 브라우저 호환성도 매우 높습니다<p> 행동, 사건 분리에 대한 설명. <br> 일반적으로 모니터링에는 다음과 같은 방법이 사용됩니다<br> </p> <p></p> <div class="codetitle"><span><a style="CURSOR: pointer" data="33179" class="copybut" id="copybut33179" onclick="doCopy('code33179')">코드 복사<u></u></a> 코드는 다음과 같습니다.</span></div> <div class="codebody" id="code33179"> <br> <div id="me">클릭</div><br> <script type="text/javascript"><br> var opp = document.getElementById("me") //이벤트 찾기 <br> opp.onclick = function(){ //이벤트 함수 설정<br> Alert("클릭당했습니다!")<br> }<br> <br> </본문><br> <br> </div> 위에 소개된 두 가지 방법은 매우 편리하며, 몇 가지 작은 기능을 만들고 처리할 때 Everbright 개발자들에게 사랑을 받고 있습니다. 그러나 동일한 이벤트에 대한 것입니다. p 마크의 onclick 기능과 같은 기능은 하나만 추가할 수 있습니다. 따라서 IE는 동시에 다른 방법도 제공합니다. <p> </p>ii.IE에서 듣는 방법<p> 초기 IE 브라우저에서는 각 요소에 시간 모니터링을 처리하는 두 가지 방법이 있습니다. <br> 이들은 각각 attachmentEvent() 및 detachEnevt()입니다. <br> 함수명에서 알 수 있듯이,attachEnevt()는 요소에 이벤트 처리를 추가하는 데 사용되는 함수이고, detachEvent()는 요소의 청취 함수를 삭제하는 데 사용되는 함수입니다. 구문은 다음과 같습니다. <br> </p>[개체].attachEvent("enevt_handler","fnHandler");<p> [개체].detachEvent("enevt_handler","fnHandler");<br> 그 중 enevt_handler는 일반적으로 사용되는 onclick, onload, onmouseover 등을 나타냅니다.<br> fnHandler는 청취 함수의 이름입니다. <br> 앞선 이벤트에서는 리스닝 함수를 추가하는 대신에attachEvent() 메소드를 이용하면 한번 클릭했을 때 다음 클릭 이후에는 리스닝 함수가 실행되지 않도록 detachEvent()를 사용하여 삭제할 수 있습니다. . <br> </p> <p></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="11153" class="copybut" id="copybut11153" onclick="doCopy('code11153')">코드 복사<u></u></a> 코드는 다음과 같습니다.</span><div class="codebody" id="code11153"> <br> <script type="text/javascript"><br> 기능 fnclick() {<br> Alert("클릭당했습니다!");<br> oP.detachEvent("onclick","fnclick");<br> }<br> var oP;<br> window.onload = function() {<br> oP = document.getElementById("oop") // 개체 발견 <br> Op.attachevent ("Onclick", "FNCLICK") // 모니터링 기능 추가 <p> }<br> > > <p id="oop"><br> <br> > </p> <p> <br>iii. 여러 청취 이벤트 추가(즉) <br> </p> </div> <p></p> <p>코드 복사</p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="50674" class="copybut" id="copybut50674" onclick="doCopy('code50674')"> 코드는 다음과 같습니다.<u></u></a> <스크립트 언어="javascript"></span> 함수 fnClick1(){</div> Alert("fnClick1이 클릭했습니다.");<div class="codebody" id="code50674"> }<br> 함수 fnClick2(){<br> Alert("fnClick2에 의해 클릭되었습니다.");<br> //oP.detachEvent("onclick",fnClick1); //리스닝 함수 1 삭제<br> }<br> var oP;<br> window.onload = 함수(){<br> oP = document.getElementById("myP"); //객체 발견 <br> oP.attachEvent("onclick",fnClick1); //리스닝 함수 추가 1<br> oP.attachEvent("onclick",fnClick2); //리스닝 함수 추가 2<br> }<br> <br> </머리><br> <br><본문><br> <div><br> ~ ~ </div> <p><br> <br> 3. 표준 DOM 이벤트 모니터링<br> <br>즉, 두 가지 방법에 비해 표준 DOM도 청취 기능을 추가하고 삭제하는 데 각각 두 가지 방법을 사용합니다. 그것은 addEventListener()와 RemoveEventListener()</p> </div>입니다. 즉, 이 두 함수는 3개의 매개변수, 즉 이벤트 이름, 할당할 함수 이름, 버블링 단계 또는 캡처 단계에서 사용되는지 여부를 허용합니다. 캡처 단계의 매개변수는 true이고, 버블링 단계의 매개변수는 false입니다. <p> </p> <p></p> <p></p>코드 복사<p></p> <div class="codetitle"> <span> 코드는 다음과 같습니다.<a style="CURSOR: pointer" data="32111" class="copybut" id="copybut32111" onclick="doCopy('code32111')"><u></u> [개체].addEventListener("event_name",fnHandler,bCapture);</a> [개체].removeEventListener("event_name",fnHandler,bCapture);</span> </div> <div class="codebody" id="code32111"> <br>이 두 함수의 사용법은 기본적으로 Ie의 그것과 유사하지만, event_name의 이름은 Ie의 "onclick", "onmouseover" 대신 "click", "mouseover" 등이라는 점에 유의하세요. <br> <br>그리고 세 번째 매개변수인 bCapture는 보통 false로 설정되어 버블링 단계입니다. </div> 표준 DOM 이벤트 수신 방법: <p> </p> <p></p> <p></p>코드 복사<p></p> <div class="codetitle"><span> 코드는 다음과 같습니다.<a style="CURSOR: pointer" data="14357" class="copybut" id="copybut14357" onclick="doCopy('code14357')"><div class="codebody" id="code14357"> <br> <스크립트 언어="javascript"><br> 기능 fnClick1() {<br> Alert("1번 클릭했습니다.");<br> oP.removeEventListener("click", fnClick1, false);<br> } <p> 함수 fnClick2() {<br> Alert("클릭했습니다 2");<br> }</p> <p> window.onload = function() {<br> oP = document.getElementById("myP");<br> oP.addEventListener("click", fnClick1, false);<br> oP.addEventListener("click", fnClick2, false);<br> }<br> > > ~ > > <br><br> <br>특정 실행 순서를 테스트할 수 있습니다. <br> </p> </div>위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다. </a></span></div> </div>