Web Dev/8. 메모

버블링과 캡처링

hYhY1234 2021. 6. 17. 10:15
728x90

https://ko.javascript.info/bubbling-and-capturing

 

버블링과 캡처링

 

ko.javascript.info

이 문서가 가장 잘되어있다. 

 

이벤트가 동작하면 일단 window객체에서 타깃으로 이벤트가 내려갔다가(캡처링), 다시 상위로 전파되는 동작(버블링)이 일어난다. 

이때 대부분은 이벤트 핸들러가 상위로 전파되는 버블링단계에서 동작하는데, elem.addEventListener(..., {capture: true}) 이렇게하면 캡처링단계에서 동작하게 할 수도있다. 

 

이때 버블링되는것을 막고 싶으면 e.stopPropagation을 사용할 수 있다. 

 

 

* 추가: e.preventDefault

https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault

 

event.preventDefault - Web API | MDN

이벤트를 취소할 수 있는 경우, 이벤트의 전파를 막지않고 그 이벤트를 취소합니다.

developer.mozilla.org

preventDefault는 이벤트에 의해서 브라우저가 기본적으로 처리하는 동작을 취소하는 것이다. 이벤트 전파는 막는건 아니다.