๋ชจ๋ DOM ๋
ธ๋๋ click, focus, keydown ๋ฑ ์ฌ์ฉ์์์ ์ํธ์์ฉ์ ๋ฐ๋ผ event
๋ผ๋ ์ ํธ๋ฅผ ๋ฐ์์ํจ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฌํ ์ด๋ฒคํธ ๋ฐ์์ ๋ฐ๋ผ ์คํ๋ ํจ์๋ฅผ ์ค์ ํ๋ ๊ฒ์ ์ด๋ฒคํธ ํธ๋ค๋ฌ
๋ฅผ ํ ๋นํ๋ค๊ณ ํ๋ค.
๋ธ๋ผ์ฐ์ ์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์์ฑ๋๋, ์ด๋ฒคํธ ์์ธ ์ ๋ณด๊ฐ ๋ด๊ธด ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. ๋ค์ํ ์์ธ ์ ๋ณด๋ค ์ค, ์์ฃผ ์ฌ์ฉ๋๋ ์ ๋ณด๋ ์๋์ ๊ฐ๋ค.
++ ๋ฆฌ์กํธ๋ ๋ธ๋ผ์ฐ์ ์์ฒด์ native event๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์๋๋ผ, ๋ธ๋ผ์ฐ์ ๊ฐ์ ํธํ์ ์ํด ํด๋น event๋ฅผ ๊ฐ์ผ synthetic event๋ฅผ ํ์ฉํ๋ค. ๊ทธ๋์ ์ด๋ฒคํธ ๊ฐ์ฒด์ ์ด๋ฆ ๋ํ SyntheticBaseEvent๋ผ๊ณ ๋์ค๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
ํ๋์ ์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด, ํด๋น ์์์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ์๋ํ๊ณ , ์ด์ด์ ๊ทธ ๋ถ๋ชจ์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ์๋ํ์ฌ, ์ต์๋จ์ ์์๊น์ง ๊ฐ ์์์ ํ ๋น๋ ํธ๋ค๋ฌ๊ฐ ์๋ํ๋ ํ์.
์ด๋ฒคํธ ๊ฐ์ฒด์์ e.target VS e.currentTarget์ ์ฐจ์ด
target
์ ์ด๋ฒคํธ๊ฐ ์ฒ์ ๋ฐ์ํ ๋์, currentTarget
์ ํ์ฌ ์ด๋ฒคํธ๊ฐ ์์นํ๊ณ ์๋ ๋์, ์ฆ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ผ๋ก ์ธํด ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ณ ์๋ ํ์ฌ์ ์์๋ฅผ ๊ฐ๋ฆฌํจ๋ค.(์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ์ค์ฒฉ๋์์ ๋๋ง ์กด์ฌํจ)
๋ง์ฝ ์ค๋จํ๊ณ ์ถ์ผ๋ฉด, e.stopPropagation
์ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค.
๋์ผํ ๋ฐฉ์์ผ๋ก ์ฌ๋ฌ ์์์ ์ด๋ฒคํธ๋ฅผ ๋ค๋ค์ผ ํ ๋ ์ฌ์ฉํ ์ ์๋ค. 1๋ฒ ๋ฒํผ, 2๋ฒ ๋ฒํผ, 3๋ฒ ๋ฒํผ ๋ชจ๋ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๊ฐ ๋ฒํผ๋ง๋ค ์ด๋ฒคํธ๋ฅผ ๋ฌ์์ค ๊ฒ์ด ์๋๋ผ, ์ด ์์๋ค์ ๊ณตํต ๋ถ๋ชจ์ธ ์์ ํ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์ค์ ํด๋์ผ๋ฉด ํจ์ฌ ๊ฐ๊ฒฐํ๊ณ ํจ์จ์ ์ธ ์ฝ๋๊ฐ ๋๋ค.
++ ํจ์๋ฅผ ์คํํ ๋, ์ธ์๋ฅผ ์ ๋ฌํ๋ฉด์ ์คํํ๊ณ ์ถ๋ค๋ฉด ํ์ดํ ํจ์ ํํ๋ก ์์ฑํด์ ๋ช ์ํด์ฃผ์ด์ผ ํ๋ค.(ํ์ดํ ํจ์๋ฅผ ์์ฑํ๋ ๊ฒ์ ํจ์๋ฅผ ์คํํ๋ ๊ฒ์ด ์๋๋ผ ์ ์ํ๋ ๊ฒ!!)