๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’๊ณต๋ถ€/JS

[JavaScript] ์ด๋ฒคํŠธ ํ”Œ๋กœ์šฐ(Event Flow)

by rindev 2021. 9. 16.

๐Ÿ“ƒ ์ด์–ด์ง€๋Š” ๊ธ€

 

๐Ÿ˜Ž ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—?!

์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ = ์ด๋ฒคํŠธ ๋ฆฌ์Šคํ„ฐ = ์ด๋ฒคํŠธ ์ฝœ๋ฐฑํ•จ์ˆ˜ (๋ชจ๋‘ ๊ฐ™์€ ๋ง!)

elementDiv.addEventListener('click', function(){  // ํด๋ฆญ์„ ํ–ˆ์„ ๋•Œ
	console.log('clickํ–ˆ์Šต๋‹ˆ๋‹ค') // ํ•  ์ผ
}, false); // ์˜ต์…˜

// [์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚  ์• ].addEventListener( [์–ด๋–ค ํ–‰๋™์„ ํ–ˆ์„ ๋•Œ], 
// [ํ•  ์ผ], 
// [์˜ต์…˜, useCapture Boolean์œผ๋กœ ๋„ฃ์–ด์ฃผ๊ธฐ, ๋””ํดํŠธ=false(๋ฒ„๋ธ”๋ง)] );

 

๐Ÿค” EventFlow??

์‚ฌ์šฉ์ž๊ฐ€ div๋ฅผ ํด๋ฆญ

→ ๊ทธ ๋ฐ‘์—์žˆ๋Š” body์™€ html๋„ ๊ฐ™์ด ํด๋ฆญ๋œ๋‹ค

→ body์™€ html์—๋„ ํด๋ฆญ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์œผ๋ฉด(์—†์œผ๋ฉด ์‹ ๊ฒฝ์“ฐ์ง€x) ๋‹ค ์‹คํ–‰๋˜๊ฒŒ ๋œ๋‹ค.. ๋งˆ์น˜ like ๋„๋ฏธ๋…ธ

 

currentTarget : ํ˜„์žฌ ์ด๋ฒคํŠธ์˜ ์ฃผ์ธ, ์ง€๊ธˆ ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š” ์• 
target : ์ด๋ฒคํŠธ์˜ ์‹œ๋ฐœ(ๅง‹็™ผ)์ , ๋ˆ„๊ตฌ๋•Œ๋ฌธ์— ์ด ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๊ฑด์ง€

 

 

 

div๊ฐ€ ํด๋ฆญ๋์„ ๋•Œ, Capture → Target → Bubble  ์ˆœ์„œ๋กœ ์‹คํ–‰ ๋จ. ๋ฌด์กฐ๊ฑด!! ์บกํƒ€๋ฒ„ ์ˆœ์„œ!!!

์ด๊ฑด ์ •ํ•ด์ง„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค!

 

 

๐Ÿ‘€ ์ฐธ๊ณ 

๋Œ“๊ธ€