Skip to content

Latest commit

ย 

History

History
69 lines (45 loc) ยท 2.3 KB

File metadata and controls

69 lines (45 loc) ยท 2.3 KB

JavaScript

Event

Event ๊ฐœ๋…

  • ๋„คํŠธ์›Œํฌ ํ™œ๋™์ด๋‚˜ ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ™์€ ์‚ฌ๊ฑด์˜ ๋ฐœ์ƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด

  • ์ด๋ฒคํŠธ ๋ฐœ์ƒ

    • ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ํ‚ค๋ณด๋“œ๋ฅผ ๋ˆ„๋ฅด๋Š” ๋“ฑ ์‚ฌ์šฉ์ž ํ–‰๋™์œผ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Œ
    • ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœ(Element.click())ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ์œผ๋กœ๋„ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ์Œ

Event ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค

  • AnimationEvent, ClipboardEvent, DragEvent ๋“ฑ
  • UIEvent
    • ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฒคํŠธ
    • Event์˜ ์ƒ์†์„ ๋ฐ›์Œ
    • MouseEvent, KeyboardEvent, InputEvent, FocusEvent ๋“ฑ์˜ ๋ถ€๋ชจ ๊ฐ์ฒด ์—ญํ• ์„ ํ•จ

Event์˜ ์—ญํ• 

"~ํ•˜๋ฉด ~ํ•œ๋‹ค."

"ํด๋ฆญํ•˜๋ฉด, ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์šด๋‹ค๋‹ค."

"ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•  ์ผ์„ ๋“ฑ๋กํ•œ๋‹ค."

Event handler - add EventListner()

EventTarget : Event Listener๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” DOM ์ธํ„ฐํŽ˜์ด์Šค

  • EventTarget.addEventListenr()
    • ์ง€์ •ํ•œ ์ด๋ฒคํŠธ๊ฐ€ ๋Œ€์ƒ์— ์ „๋‹ฌ๋  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋ฅผ ์„ค์ •
    • ์ด๋ฒคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๊ฐ์ฒด(Element, Document, Window ๋“ฑ)๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ง€์ • ๊ฐ€๋Šฅ
  • target.addEventListner(type, listener[, options])
    • type
      • ๋ฐ˜์‘ ํ•  ์ด๋ฒคํŠธ ์œ ํ˜• (๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ๋ฌธ์ž์—ด)
    • listene
      • ์ง€์ •๋œ ํƒ€์ž…์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์•Œ๋ฆผ์„ ๋ฐ›๋Š” ๊ฐ์ฒด
      • EventListener ์ธํ„ฐํŽ˜์ด์Šค ํ˜น์€ JS function ๊ฐ์ฒด(์ฝœ๋ฐฑ ํ•จ์ˆ˜)์—ฌ์•ผํ•จ
  • ๋Œ€์ƒ(EventTarget)์— ํŠน์ • ์ด๋ฒคํŠธ(type)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•  ์ผ(listener)์„ ๋“ฑ๋กํ•˜์ž
const btn = document.querySelector('.button')
btn.addEventListener('click',function(event){
    alert('๋ฒ„ํŠผ์ด ํด๋ฆญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.')
    console.log(event)
})

btn

Event ์ทจ์†Œ

  • event.preventDefault()
  • ํ˜„์žฌ ์ด๋ฒคํŠธ์˜ ๊ธฐ๋ณธ ๋™์ž‘์„ ์ค‘๋‹จ
  • HTML ์š”์†Œ์˜ ๊ธฐ๋ณธ ๋™์ž‘์„ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฒŒ ๋ง‰์Œ
    • a ํƒœ๊ทธ์˜ ๊ธฐ๋ณธ ๋™์ž‘์€ ํด๋ฆญ ์‹œ ์ด๋™ / form ํƒœ๊ทธ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก
  • ์ด๋ฒคํŠธ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, ์ด๋ฒคํŠธ์˜ ์ „ํŒŒ๋ฅผ ๋ง‰์ง€ ์•Š๊ณ  ๊ทธ ์ด๋ฒคํŠธ๋ฅผ ์ทจ์†Œ

์ทจ์†Œํ•  ์ˆ˜ ์—†๋Š” ์ด๋ฒคํŠธ๋„ ์กด์žฌ

  • ์ด๋ฒคํŠธ์˜ ์ทจ์†Œ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋Š” event.cancelable์„ ์‚ฌ์šฉํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ