이 글은 자바스크립트의 이벤트 버블링과 이벤트 캡처 메커니즘에 대한 자세한 설명을 중심으로 관련 정보를 소개합니다. 인터넷에 관련 정보가 많이 있지만 이 글을 통해 모든 사람이 이해할 수 있기를 바랍니다. 아래는 javascript
의 이벤트 버블링 및 이벤트 캡처 메커니즘에 대한 자세한 설명입니다.
이벤트 트리거 타이밍 문제 설명이벤트 캡처
: 문서에서 이벤트를 트리거하는 노드까지, 즉 하향식 이벤트를 트리거하려면 --- 외부에서 내부로
이벤트 버블링:
바인딩 이벤트 메서드의 세 번째 매개 변수는 이벤트를 제어하는 것입니다. 트리거 시퀀스가 이벤트 캡처인지
true, 이벤트 캡처, false, 이벤트 버블링
일반적으로 기본값은 false, 즉 이벤트 버블링입니다.
Jquery의 e.stopPropagation은 버블링을 방지합니다. 즉, DOM까지 버블링을 중지하고 상위 수준 이벤트가 트리거되지 않아야 합니다.
다음은 제가 시도한 예입니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>事件冒泡与事件捕获</title> <script> window.onload = function () { document.getElementById("parent").addEventListener("click",function(e){ alert("parent事件被触发,"+this.id); },true) document.getElementById("child").addEventListener("click",function(e){ alert("child事件被触发,"+this.id) },true) } </script> </head> <body> <p id="parent"> parent事件 <p id="child" class="child"> child事件 </p> </p> </body> </html>
이 예에서는 이벤트 캡처인 세 번째 true를 추가했습니다.
추가하지 않으면 기본 이벤트 버블링이 사용됩니다. 이때 이벤트 트리거 시퀀스는 내부에서 나옵니다.
위 내용은 자바스크립트의 이벤트 버블링 및 이벤트 캡처 메커니즘 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!