코드 예 :
<div id="div1" style="background:#9595FF">
Outer Div<br />
<div id="div2" style="background:#FFFFFF">
Inner Div
</div>
</div>
자바 스크립트 코드 :
d1 = document.getElementById("div1");
d2 = document.getElementById("div2");
둘 다 false로 설정된 경우
d1.addEventListener('click',function(){alert("Div 1")},false);
d2.addEventListener('click',function(){alert("Div 2")},false);
실행 : Inner Div를 클릭하면 경고가 Div 2> Div 1로 표시됩니다.
여기서 스크립트는 내부 요소에서 실행됩니다. 이벤트 버블 링 (useCapture가 false로 설정 됨)
div 1이 true로 설정되고 div 2가 false로 설정되었습니다.
d1.addEventListener('click',function(){alert("Div 1")},true);
d2.addEventListener('click',function(){alert("Div 2")},false);
실행 : Inner Div를 클릭하면 경고가 Div 1> Div 2로 표시됩니다.
여기서 스크립트는 조상 / 외부 요소에서 실행됩니다. 이벤트 캡처 (useCapture가 true로 설정 됨)
div 1은 false로 설정되고 div 2는 true로 설정됩니다.
d1.addEventListener('click',function(){alert("Div 1")},false);
d2.addEventListener('click',function(){alert("Div 2")},true);
실행 : Inner Div를 클릭하면 경고가 Div 2> Div 1로 표시됩니다.
여기서 스크립트는 내부 요소에서 실행됩니다. 이벤트 버블 링 (useCapture가 false로 설정 됨)
div 1이 true로 설정되고 div 2가 true로 설정되었습니다.
d1.addEventListener('click',function(){alert("Div 1")},true);
d2.addEventListener('click',function(){alert("Div 2")},true);
실행 : Inner Div를 클릭하면 경고가 Div 1> Div 2로 표시됩니다.
여기서 스크립트는 조상 / 외부 요소에서 실행됩니다. useCapture가 true로 설정된 이후의 이벤트 캡처
no specification is made as to the order in which they will receive the event with regards to the other EventListeners on the EventTarget
. 모든 브라우저를 테스트하지는 않았으므로 동일한 방식으로 구현할 수 있습니다. 그러나 캡처 이벤트는 캡처하지 않는 이벤트보다 먼저 수행됩니다.