[JS][ํ”„๋กœ์ ํŠธ] ๐ŸŽฌ์˜ํ™” ๊ฒ€์ƒ‰ UI(4) - ์ด๋ฒคํŠธ ์œ„์ž„

์šฐ์—ฅยท2024๋…„ 4์›” 30์ผ

์ด๋ฒคํŠธ ์œ„์ž„

  • ์ž์‹ ์š”์†Œ์˜ ์ด๋ฒคํŠธ๋ฅผ ๋ถ€๋ชจ ์š”์†Œ์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ„์ž„ํ•˜๋Š” ๊ฒƒ
  • ์ด๋ฒคํŠธ ์œ„์ž„์„ ์ž˜ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„  event.target๊ณผ event.currentTarget์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„์•ผ ํ•จ

    event.target : ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ
    event.currentTarget : ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์š”์†Œ

ย 

// ์นด๋“œ ํด๋ฆญ ์‹œ ์นด๋“œ ์ด๋ฏธ์ง€ alert
const alertId = ({ target }) => {
  if (target === cardSection) return null;
  if (target.matches(".card")) alert(`์˜ํ™” id: ${target.id}`);
  else alert(`์˜ํ™” id: ${target.parentNode.id}`);
};

// card click event handler
cardSection.addEventListener("click", alertId);

โžก๏ธ ์นด๋“œ ํด๋ฆญ ์‹œ ํ•ด๋‹น ์นด๋“œ์˜ ์˜ํ™”์˜ id๋ฅผ alertํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ด๋ฒคํŠธ ์œ„์ž„์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ event.currentTarget์€ cardSection์ด๋‹ค.





์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง๐Ÿซง

  • ์ด๋ฒคํŠธ ์œ„์ž„์€ ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅ
  • ํ•˜์œ„ ์š”์†Œ์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๊ฐ€ ์ƒ์œ„ ์š”์†Œ๋กœ ์ „ํŒŒ๋˜๋Š” ํ˜„์ƒ
  • ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ์ด๋ฒคํŠธ ์ „ํŒŒ ํ๋ฆ„

์ถœ์ฒ˜ : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋”ฅ๋‹ค์ด๋ธŒ

profile
๐ŸŒธ๐Ÿ˜Š๐ŸŒธ

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