본문으로 건너뛰기
yceffort
PostsSeriesTagsAbout🧪 Research
EN

Tweaks

theme
accent palette
film grain
minimal mode
BACK TO INDEX
◆ ESSAY
--min
--year
KOoriginal

mailMail icongithubtwitter
yceffort
•
© 2026
•
https://yceffort.kr
BACK TO INDEX
◆ ESSAY

javascript event bubbling & capturing

avatar
yceffort
2019-07-17 · 2분
2min
2019year
KOoriginal
javascriptbrowser

Javascript Event Capturing

https://codepen.io/yceffort/pen/GbVaaY

Event Capturing은 특정 요소에서 이벤트가 발생했을 때, 최상위 요소에서 부터 이벤트를 탐색하여 특정요소까지 찾아오는 이벤트 전파 방식을 의미한다. 위 예시에서 가장 내부의 element를 클릭했을 때, 최상위 요소 부터 해당 click이벤트를 전파시켜 이벤트가 실행되는 것을 볼 수 있다.

Javascript Event Bubbling

https://codepen.io/yceffort/pen/Prrgob

반대로 Event Bubbling은 특정요소에서 이벤트가 발생했을 때, 해당 요소에서 부터 이벤트를 전파시키는 것을 의미한다. 위 예시에서 가장 내부의 three를 클릭했을때, three, two, one으로 이벤트가 전파되는 것을 볼 수 있다.

stopPropagation

stopPropagation는 이벤트의 전파 (Event Bubbling 및 Capturing)을 막는 것을 의미한다. 즉, 현재까지의 이벤트만 실행하고 이후의 이벤트를 막게된다.

preventDefault

preventDefault는 해당 DOM에서 내가 원하는 이벤트만 실행하고, 기본적인 (취소할 수 있는) 이벤트를 취소하는 것을 의미한다.

https://codepen.io/yceffort/pen/xovoRp

해다아 예제에서는 preventDefault를 이용해서 a tag의 기본 이벤트인 href를 막는 것을 볼 수 있다.

관련 글

  • #javascript#browser

    V8에서 관리되는 자바스크립트 변수

    V8 내부 코드를 자유롭게 읽을 수 있는 그날까지

    2022-04-21·10분
  • #javascript#nodejs#browser

    브라우저와 Nodejs의 이벤트 루프는 무엇이 다를까

    인생은 돌고 도는 이벤트 루프

    2021-08-10·16분
  • #web-performance#javascript#browser

    웹 페이지에서의 자바스크립트 메모리 사용량 벤치마킹

    분석할 때 마다 한숨이 나오는 그것

    2021-08-07·13분
  • #javascript#browser

    V8 엔진에 대해 가볍게 살펴보기

    맛만 볼게 아니고 직접 코드 까봐서 공부를 해봐야 되는데 😭

    2020-11-27·14분

새 글을 놓치고 싶지 않으시다면 RSS로 구독해 주세요.

RSS 구독 →

yceffort — 프론트엔드 엔지니어입니다. 발표·기술 자문·기고 문의는 이곳에서 받고 있습니다.

← Back to the blogIssue on GitHub →