FrontEnd/JavaScript & TypeScript

[JS] addEventListener ์ข…๋ฅ˜

2022. 6. 23. 15:48
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“‹ addEventListener

DOM ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ํ•ด๋‹น ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ์ž…๋‹ˆ๋‹ค.
ํŠน์ • DOM์— script ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ํŠน์ • ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.


โœ” ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  • ์ดˆ๊ธฐ ์ ์šฉ ์‹œ
    DOM๊ฐ์ฒด.addEventListener(์ด๋ฒคํŠธ ๋ช…, ์‹คํ–‰ํ•  ํ•จ์ˆ˜ ๋ช…, ์˜ต์…˜)
  • ์‚ฌ์šฉ ํ›„ ์ œ๊ฑฐ ์‹œ
    DOM๊ฐ์ฒด.removeEventListener(์ด๋ฒคํŠธ ๋ช…, ์‹คํ–‰ํ•  ํ•จ์ˆ˜ ๋ช…, ์˜ต์…˜)

โœ” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฒคํŠธ ์ข…๋ฅ˜

  • click : ํด๋ฆญํ•  ๋•Œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ
  • mouseover : ๋งˆ์šฐ์Šค๋ฅผ ์š”์†Œ ์œ„์— ์˜ฌ๋ฆฌ๋ฉด ๋ฐœ์ƒ
  • mouseout : ๋งˆ์šฐ์Šค๊ฐ€ ์š”์†Œ ๋ฐ–์œผ๋กœ ๋ฒ—์–ด๋‚  ๋•Œ ๋ฐœ์ƒ
  • mousedown : ๋งˆ์šฐ์Šค ํด๋ฆญ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ๋–ผ๊ธฐ ์ „์ธ ์ˆœ๊ฐ„ ๋ฐœ์ƒ(๋“œ๋ž˜๊ทธํ•  ๋•Œ ์‚ฌ์šฉ)
  • mouseup : ๋งˆ์šฐ์Šค ํด๋ฆญ์„ ๋–ผ๋Š” ์ˆœ๊ฐ„ ๋ฐœ์ƒ
  • mousemove : ๋งˆ์šฐ์Šค๊ฐ€ ์›€์ง์ผ ๋•Œ ๋ฐœ์ƒ
  • focus : ์š”์†Œ์— ํฌ์ปค์Šค๊ฐ€ ๊ฐ”์„ ๋•Œ ๋ฐœ์ƒ
  • blur : ์š”์†Œ์— ํฌ์ปค์Šค๊ฐ€ ๋ฒ—์–ด๋‚ฌ์„ ๋•Œ ๋ฐœ์ƒ
  • keypress : ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ์ˆœ๊ฐ„ ๋ฐœ์ƒ(๋ˆ„๋ฅด๊ณ  ์žˆ๋Š” ๋™์•ˆ ๊ณ„์†ํ•ด์„œ ๋ฐœ์ƒ)
  • keydown : ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ ๋ฐœ์ƒ
  • keyup : ํ‚ค๋ฅผ ๋ˆŒ๋ €๋‹ค๊ฐ€ ๋–ผ๋Š” ์ˆœ๊ฐ„ ๋ฐœ์ƒ
  • scroll : ์Šคํฌ๋กค ์‹œ ๋ฐœ์ƒ
  • resize : ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ๋•Œ ๋ฐœ์ƒ

โœ” addEventListener ์‚ฌ์šฉ ์˜ˆ์‹œ

๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด alert์ฐฝ ๋‚˜ํƒ€๋‚จ

[HTML]

<button class="btn" type="button"></button>

[JS]

document.querySelector('.btn').addEventListener('click',() => {
  alert('๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์…จ์Šต๋‹ˆ๋‹ค.')
});

โœ” removeEventListner

์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๊ณ„์† ์‚ด๋ ค๋‘๊ฒŒ ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์˜ ์›์ธ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•„์š” ์—†๋Š” ์‹œ์ ์—๋Š” ์ œ๊ฑฐํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 


 

728x90
๋ฐ˜์‘ํ˜•
  1. ๐Ÿ“‹ addEventListener
  2. โœ” ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
  3. โœ” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฒคํŠธ ์ข…๋ฅ˜
  4. โœ” addEventListener ์‚ฌ์šฉ ์˜ˆ์‹œ
  5. โœ” removeEventListner
'FrontEnd/JavaScript & TypeScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JS] ๋‚ ์งœ ๊ณ„์‚ฐ (๋ฉฐ์น  ์ „, ์ง€์ •๋œ ๋‚ ์งœ๊นŒ์ง€ ๋ฐฐ์—ด ๋ฐ˜ํ™˜) Feat. ApexCharts
  • [JS] ๋žœ๋ค ์ˆซ์ž ์ถ”์ถœ ๋ฐฉ๋ฒ•(๋ฒ”์œ„ ์ง€์ •)
  • [JS] Swiper-slide ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ๋ฒ•(๋ฐ˜์‘ํ˜•)
  • [JS] JavaScript ๋งˆ์šฐ์Šค ์ปค์„œ ๋ชจ์–‘ ๋ฐ”๊พธ๊ธฐ
devwoodie
devwoodie
๊ฐœ๋ฐœํ•˜์ž(DevHaja)devwoodie ๋‹˜์˜ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
devwoodie
๊ฐœ๋ฐœํ•˜์ž(DevHaja)
devwoodie
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (43)
    • FrontEnd (34)
      • React & React-Native (13)
      • JavaScript & TypeScript (8)
      • CSS (10)
      • HTML (3)
    • Dev knowledge (5)
    • Offline Conference (2)
    • Memoir (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • HOME
  • GITHUB
  • VELOG
  • TAG

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
devwoodie
[JS] addEventListener ์ข…๋ฅ˜
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.