ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

document.addEventListener('click', function (event) {
    if(event.target === document.querySelector('button')) return;
    
    (...)
  }, false);

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํด๋ž˜์Šค๋‚˜ ์•„์ด๋””๋ช…์ด ์ง€์ •๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋ฒ„ํŠผ ์š”์†Œ๋ฅผ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋‚ด์—์„œ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•˜์˜€๋‹ค.

ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ฒ„ํŠผ ์ค‘ ๊ฐ€์žฅ ์ฒ˜์Œ์— ์žˆ๋Š” ๋ฒ„ํŠผ ์š”์†Œ๋งŒ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.

 

๋ฌธ์ œํ•ด๊ฒฐ

Document.querySelector()๋Š” ์ œ๊ณตํ•œ ์„ ํƒ์ž ๋˜๋Š” ์„ ํƒ์ž ๋ญ‰์น˜์™€ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ ๋‚ด ์ฒซ ๋ฒˆ์งธ Element๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด null์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

querySelector๋กœ ์ฐธ์กฐํ•œ ๋…ธ๋“œ ๊ฐ์ฒด๋Š” ๋ฌธ์„œ ๋‚ด ์ฒซ ๋ฒˆ์งธ Element๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์‰ฌ์šด ๋ฌธ์ œ์˜€๋‹ค.

์ด๋ฅผ ๋Œ€์‹ ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด Array.includes()๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์š”์†Œ๋ฅผ ์‹๋ณ„ํ•˜์˜€๋‹ค.

document.addEventListener('click', function (event) {
    if(Array.from(document.querySelectorAll('button')).includes(event.target)) return;
    //querySelectorAll๋กœ ๊ฐ€์ ธ์˜จ ๊ฐ์ฒด๋Š” HtmlCollection ์œ ์‚ฌ ๋ฐฐ์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •๊ทœ ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ๋จ
    (...)
  }, false);

  • Element.matches()
document.addEventListener('click', function (event) {
    if(event.target.matches("#pageContainer button")) return;

    (...)
  }, false);
  • (์ถ”๊ฐ€ 2021.07.28)HtmlElement.nodeName
$itemList.addEventListener('click', (event) => {
    if(event.target.nodeName !== 'LI') return;

   (...)
});

์ฃผ์˜ํ•  ์ ์€ nodeName ํ”„๋กœํผํ‹ฐ๋Š” ์–ธ์ œ๋‚˜ ํ•ด๋‹น HTML ์š”์†Œ์˜ ํƒœ๊ทธ ์ด๋ฆ„์„ ๋Œ€๋ฌธ์ž๋กœ ์ €์žฅํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/12   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ