๐Ÿ™Œ ํด๋ฆญ ์ด๋ฒคํŠธ ์˜ํ–ฅ์„ ํ”ผํ•˜๋Š” ๋ฒ• e.stopPropagation() ๐Ÿ™Œ

dustnยท2024๋…„ 2์›” 2์ผ
0

Next.js

๋ชฉ๋ก ๋ณด๊ธฐ
8/9

๋ผ์ฟคํŒ€ QA๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์•Œ๊ฒŒ๋œ e.stopPropagation() ์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค.

๋ฌธ์ œ์ƒํ™ฉ์€ ๊ฒ€์ƒ‰์ฐฝ์„ ๋ชจ๋‹ฌ๋กœ ๊ตฌํ˜„์‹œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์™€ ๊ฒ€์ƒ‰์ฐฝ์ด ์กด์žฌํ•˜๋Š”๋ฐ
๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ๋ชจ๋‹ฌ ๋‹ซ๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋„ฃ์œผ๋ฉด ์ž…๋ ฅ์ฐฝ์„ ๋ˆ„๋ฅผ๋•Œ๋„ ๋ชจ๋‹ฌ์ด ๋‹ซํžŒ๋‹ค

<back>
	<search>
    </search>
</back>

์ด๋Ÿฐ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์–ด์„œ search๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๊ฒƒ์ด๋‹ค.
์—ฌ๊ธฐ์„œ

e.stopPropagation()

์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ฆญ์‹œ์—๋„ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค!!

Event ์ธํ„ฐํŽ˜์ด์Šค์˜ stopPropagation() ๋ฉ”์„œ๋“œ๋Š” ํ˜„์žฌ ์ด๋ฒคํŠธ๊ฐ€ ์บก์ฒ˜๋ง/๋ฒ„๋ธ”๋ง ๋‹จ๊ณ„์—์„œ ๋” ์ด์ƒ ์ „ํŒŒ๋˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ „ํŒŒ๋ฅผ ๋ฐฉ์ง€ํ•ด๋„ ์ด๋ฒคํŠธ์˜ ๊ธฐ๋ณธ ๋™์ž‘์€ ์‹คํ–‰๋˜๋ฏ€๋กœ, stopPropagation()์ด ๋งํฌ๋‚˜ ๋ฒ„ํŠผ์˜ ํด๋ฆญ์„ ๋ง‰๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด preventDefault() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋˜ํ•œ, stopPropagation()์€ ๊ฐ™์€ ์ด๋ฒคํŠธ ๋Œ€์ƒ์— ๋ถ€์ฐฉํ•œ ๋‹ค๋ฅธ ์ˆ˜์‹ ๊ธฐ๊นŒ์ง€ ๋ง‰์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ๊นŒ์ง€ ๋ง‰์œผ๋ ค๋ฉด stopImmediatePropagation()๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

mdn์—๋Š” ์ด๋Ÿฐ์‹์œผ๋กœ ๋‚˜์™€์žˆ๋‹ค.

์ ์šฉ


๋‚˜๋Š” ์ด๋Ÿฐ์‹์œผ๋กœ ์ ์šฉํ•˜์˜€๋Š”๋ฐ
searchModalInput์—๋Š” ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๊ฒŒ ํ•˜์˜€๊ณ 
searchModalBgBox๋Š” ๊ฒ€์ƒ‰์ฐฝ ๋ฐ–์˜ ์–ด๋‘์šด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—ฌ์„œ ํด๋ฆญํ•˜๋ฉด ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ๊ฒŒ ๊ตฌํ˜„ํ•˜์˜€๋‹ค

ํ•ด๊ฒฐ !! ๐Ÿ™Œ

profile
ํฌ๊ธฐํ•˜์ง€ ์•Š๋Š” ๋งˆ์Œ์ด ์Œ“์—ฌ ์ธ์ƒ์„ ๋ฐ”๊พผ๋‹ค ๐Ÿ“š๐Ÿ’ญ

0๊ฐœ์˜ ๋Œ“๊ธ€