TIL/JavaScript

[TIL] addEventListener ( ) ํ•จ์ˆ˜ ใ…ก ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•ด ๋ด…์‹œ๋‹ค

"์œ ๋‹ˆ" 2022. 9. 5. 17:18

 

๐ŸŒท addEventListener() ํ•จ์ˆ˜ 


 

ํ™”๋ฉด์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜, ํ‚ค๋ณด๋“œ๋ฅผ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ํ„ฐ์น˜ํ•˜๊ฑฐ๋‚˜ ๋“ฑ๋“ฑ๋“ฑ.. ์–ด๋–ค ํ–‰์œ„๋ฅผ ํ•˜๋ฉด(?) ๊ทธ์— ๋Œ€ํ•œ ๋ฐ˜์‘์„ ํ•˜๋Š” ๊ฒƒ์„ ์ด๋ฒคํŠธ๋ผ ํ•œ๋‹ค 

 

 

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ,

 

1๏ธโƒฃ HTML ํƒœ๊ทธ ์•ˆ์—์„œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์—ฐ๊ฒฐํ•˜๊ธฐ

2๏ธโƒฃ DOM ์š”์†Œ์— ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์—ฐ๊ฒฐํ•˜๊ธฐ

3๏ธโƒฃ addEventListener() ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ (์˜ค๋Š˜ ์ œ๊ฐ€ ๊ณต๋ถ€ํ•œ ๊ฒƒ์€ ์ด๊ฒƒ์ž…๋‹ˆ๋‹ค..๋„ค๋„ค..) 

 

1, 2๋ฒˆ์€ ์ด๋ฒคํŠธ๋ฅผ ํ•˜๋‚˜๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์ง€๋งŒ, addEventListener() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค 

pic ์ด๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ๊ณ , ์ด ๋ณ€์ˆ˜์— ์ง€์ •๋œ ์š”์†Œ์— ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด 'pic.addEventListener()' 

 

โœ”๏ธ ์ด๋ฒคํŠธ ์œ ํ˜•์€ mouseover, click, mousedown, resize, scroll ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•˜๋ฉฐ, 

โœ”๏ธ ์ฒ˜์Œ์— ์ด๋ฒคํŠธ ์œ ํ˜•์„ ์ง€์ •ํ•ด์ฃผ๊ณ , ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰ํ•  ๋ช…๋ น์ด๋‚˜ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์จ์ค€๋‹ค 

โœ”๏ธ ์บก์ฒ˜ ์—ฌ๋ถ€๋Š” ์ด๋ฒคํŠธ๋ฅผ ์บก์ฒ˜๋ง ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฑด๋ฐ, ์ด๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Œ

true๋ฉด ์บก์ฒ˜๋ง, false๋ฉด ๋ฒ„๋ธ”๋ง ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ธ๋ฐ, ๊ธฐ๋ณธ๊ฐ’์€ false์ด๋ฉฐ ์ด๋ถ€๋ถ„์€ ์•„์ง deep ํ•˜๊ฒŒ ๊ณต๋ถ€ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”ํ›„์— ๋‹ค์‹œ ํฌ์ŠคํŒ… ํ• ๊ฒŒ์š”.. (์ž‘์•„์ง€๋Š” ๋‚˜) 

 

 

 

 

ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‹ถ์„ ๋• ์•„๋ž˜์™€ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.