addEventListener๋ก ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ ์ ์๋ค. ๊ฐ์ ์์์ ๊ฐ์ ์ด๋ฒคํธ์ ์ฌ๋ฌ ๊ฐ์ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ฑ๋กํ ์ ์๋ค.
removeEventListener๋ก ์ด๋ฏธ ๋ฑ๋กํ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ค ๋์ผํ ์ธ์๋ฅผ ๋ฐ๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ์ญ์ ํ๋ค.
์ด๋ฒคํธ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ์ธ๊ฐ์ง ๊ฐ์ด ํ์ํ๋ค.
- ์ ๊ฑฐํ ์๋ฆฌ๋จผํธ ์์
- click, keypress ๋ฑ์ ์ด๋ฒคํธ ํ์
- ์ ๊ฑฐํ ์ด๋ฒคํธ ์ฝ๋ฐฑ ํจ์
์ด๋ฒคํธ ๋ฒ๋ธ๋ง, ์บก์ณ๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ๋ ๋ฐฉ์์ด๋ค.
ํ์ ์๋ฆฌ๋จผํธ์์ ์์ ์๋ฆฌ๋จผํธ๋ก ์ด๋ฒคํธ๊ฐ ์ ํ๋๋ ํน์ฑ์ ๋งํ๋ค. ๋ธ๋ผ์ฐ์ ๋ ํน์ ํ๋ฉด ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋, ๊ทธ ์ด๋ฒคํธ๋ฅผ ์ต์์์ ์๋ ํ๋ฉด ์์๊น์ง ์ด๋ฒคํธ๋ฅผ ์ ํ์ํจ๋ค.
๋ฒ๋ธ๋ง๊ณผ ๋ฐ๋๋ฐฉํฅ์ผ๋ก ์งํ๋๋ ์ด๋ฒคํธ ์ ํ ๋ฐฉ์์ด๋ค. ํด๋น ๊ธฐ๋ฅ์ addEventListener() API์์ ์ต์
๊ฐ์ฒด์ capture:true๋ฅผ ์ค์ ํด์ฃผ๋ฉด ๊ตฌํํ ์ ์๋ค.
ํ์ ์์์ ๊ฐ๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ถ์ด์ง ์๊ณ ์์ ์์์์ ํ์ ์์์ ์ด๋ฒคํธ๋ค์ ์ ์ดํ๋ ๋ฐฉ์์ด๋ค. ๋ฆฌ์คํธ ์์ดํ ์ด ๋ง์์ง๋ฉด ๋ง์์ง์๋ก ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ค๋ ์์ ์์ฒด๊ฐ ๋งค์ฐ ๋ฒ๊ฑฐ๋กญ๋ค. ์ด ๋ฒ๊ฑฐ๋ก์ด ์์ ์ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์ด๋ฒคํธ ์์์ด๋ค.
์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ด๋ ์บก์ณ๋ง ๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ ํ๋๋ ๊ฒ์ ๋ง์์ฃผ๋ api์ด๋ค. ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ๊ฒฝ์ฐ์๋ ํด๋ฆญํ ์์์ ์ด๋ฒคํธ๋ง ๋ฐ์์ํค๊ณ ์์ ์์๋ก ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ ๋ฐฉํดํ๋ค.
์ด๋ฒคํธ ์บก์ณ์ ๊ฒฝ์ฐ์๋ ํด๋ฆญํ ์์์ ์ต์์ ์์์ ์ด๋ฒคํธ๋ง ๋์์ํค๊ณ ํ์ ์์๋ค๋ก ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํ์ง ์๋๋ค.
ํ์ฌ ์ด๋ฒคํธ์ ๊ธฐ๋ณธ ๋์์ ์ค๋จ์ํค๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์๋ฅผ๋ค์ด a ํ๊ทธ์ ํด๋ฆญ์ด๋ฒคํธ๋ฅผ ๋ฌ๊ณ ์ฝ๋ฐฑํจ์์ preventDefault๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด a ํ๊ทธ์ href ์์ฑ์ด ์ค๋จ๋๋ค.