- Published on
javascript event bubbling & capturing
- Author

- Name
- yceffort

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๋ฅผ ๋ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค.