*๏ธโฃ Event
|Event (์ด๋ฒคํธ) ๊ฐ๋
- ๋คํธ์ํฌ ํ๋์ด๋ ์ฌ์ฉ์์์ ์ํธ์์ฉ ๊ฐ์ ์ฌ๊ฑด์ ๋ฐ์์ ์๋ฆฌ๊ธฐ ์ํ ๊ฐ์ฒด
- ์ด๋ฒคํธ ๋ฐ์
- ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํ๊ฑฐ๋ ํค๋ณด๋๋ฅผ ๋๋ฅด๋ ๋ฑ ์ฌ์ฉ์ ํ๋์ผ๋ก ๋ฐ์ํ ์๋ ์์
- ํน์ ๋ฉ์๋๋ฅผ ํธ์ถ(Element.click())ํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก๋ ๋ง๋ค์ด๋ผ ์ ์์
|Event ๊ธฐ๋ฐ ์ธํฐํ์ด์ค
- AnimationEvent, ClipboardEvent, DragEvent ๋ฑ
- UIEvent
- ๊ฐ๋จํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ด๋ฒคํธ
- Event์ ์์์ ๋ฐ์
- MouseEvent, KeyboardEvent, InputEvent, FocusEvent ๋ฑ์ ๋ถ๋ชจ ๊ฐ์ฒด ์ญํ ์ ํจ
|Event์ ์ญํ
โ~ํ๋ฉด ~ํ๋ค.โ
โํด๋ฆญํ๋ฉด, ๊ฒฝ๊ณ ์ฐฝ์ ๋์ด๋ค.โ
โํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด, ํ ์ผ์ ๋ฑ๋กํ๋ค.โ
|Event handler - addEventListener()
- EventTarget.addEventListener()
- ์ง์ ํ ์ด๋ฒคํธ๊ฐ ๋์์ ์ ๋ฌ๋ ๋๋ง๋ค ํธ์ถํ ํจ์๋ฅผ ์ค์
- ์ด๋ฒคํธ๋ฅผ ์ง์ํ๋ ๋ชจ๋ ๊ฐ์ฒด(Element, Document, Window ๋ฑ)๋ฅผ ๋์์ผ๋ก ์ง์ ๊ฐ๋ฅ
- target.addEventListener(type, listener[, options])
- type
- ๋ฐ์ ํ ์ด๋ฒคํธ ์ ํ (๋์๋ฌธ์ ๊ตฌ๋ถ ๋ฌธ์์ด)
- listener
- ์ง์ ๋ ํ์ ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์๋ฆผ์ ๋ฐ๋ ๊ฐ์ฒด
- EventListener ์ธํฐํ์ด์ค ํน์ JS function ๊ฐ์ฒด(์ฝ๋ฐฑ ํจ์)์ฌ์ผ ํจ
- type
โ๋์์ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด, ํ ์ผ์ ๋ฑ๋กํ์โ
EventTarget.addEventListener(type, listener)
|Event ์ทจ์
- event.preventDefault()
- ํ์ฌ ์ด๋ฒคํธ์ ๊ธฐ๋ณธ ๋์์ ์ค๋จ
- HTML ์์์ ๊ธฐ๋ณธ ๋์์ ์๋ํ์ง ์๊ฒ ๋ง์
- ex) a ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ํด๋ฆญ ์ ๋งํฌ๋ก ์ด๋ / form ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ form ๋ฐ์ดํฐ ์ ์ก
- ์ด๋ฒคํธ๋ฅผ ์ทจ์ํ ์ ์๋ ๊ฒฝ์ฐ, ์ด๋ฒคํธ์ ์ ํ๋ฅผ ๋ง์ง ์๊ณ ๊ทธ ์ด๋ฒคํธ๋ฅผ ์ทจ์
- ์ทจ์ ํ ์ ์๋ ์ด๋ฒคํธ๋ ์กด์ฌ
- ์ด๋ฒคํธ์ ์ทจ์ ๊ฐ๋ฅ ์ฌ๋ถ๋ event.cancelable์ ์ฌ์ฉํด ํ์ธํ ์ ์์
'Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[FE/JavaScript]this (0) | 2022.06.23 |
---|---|
[FE/JavaScript] ์์ฑ์ ํจ์์ ์ํ ๊ฐ์ฒด ์์ฑ (0) | 2022.06.13 |
JavaScript - DOM(Document Object Model) (0) | 2022.05.03 |
JavaScript - Asynchronous JavaScript(์ฝ๋ฐฑํจ์, Async callbacks,Promise), Axios (0) | 2022.05.03 |
JavaScript - AJAX, Asynchronous (๋น๋๊ธฐ) (0) | 2022.05.03 |
๋๊ธ