Event
- ์ ์ ๊ฐ ์ฌ์ดํธ์ ํน์ ๋ถ๋ถ์ ์ ๋ ฅ, ํด๋ฆญ, ์คํฌ๋กค ํ๋ ๋ฑ์ ํ๋์ ์๋ฏธํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฒคํธ๋ฅผ ํ์งํ์ฌ ํน์ ์ฝ๋๋ฅผ ์คํํ๋๋ก ํ ์ ์๋ค.
- ์น์ ๊ฒฝ์ฐ ์ด๋ฒคํธ๋ ๋ธ๋ผ์ฐ์ ์๋์ฐ ๋ด์์ ๋ฐ์๋๋๋ฐ, ๋ค์์ ๊ฐ์ ๋ค์ํ ์ด๋ฒคํธ ํ์
๋ค์ด ์๋ค.
- ์ ์ ๊ฐ ์ด๋ค ์์๋ฅผ ์ ํํ๊ฑฐ๋ ์ด๋ค ์์ ์์ ์ปค์๋ฅผ ์ฌ๋ ค๋๋ค(hover).
- ์ ์ ๊ฐ ํค๋ณด๋์์ ํค๋ฅผ ์ ํํ๋ค.
- ์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํฌ๊ธฐ๋ฅผ ์ฌ์กฐ์ ํ๊ฑฐ๋ ๋ซ๋๋ค.
- ์น ํ์ด์ง๊ฐ ๋ก๋ฉ์ ์๋ฃํ๋ค.
- ์์(form)์ด ์ ์ถ๋์๋ค.
- ๋น๋์ค๊ฐ ์ฌ์๋๊ฑฐ๋, ๋ฉ์ถ๊ฑฐ๋, ํน์ ๋๋ฌ๋ค.
- ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
์ด๋ฒคํธ๋ฆฌ์ค๋์ ์ฝ๋ฐฑํจ์
let paragraphElement = document.body.firstElementChild;
function changeParagraphText() {
paragraphElement.textContent = 'Clicked!';
}
// paragraphElement.addEventListener('click', () => {
// paragraphElement.textContent = 'Clicked!';
// });
paragraphElement.addEventListener('click', changeParagraphText); // ์ฝ๋ฐฑํจ์
- ์ฝ๋ฐฑ ํจ์
- ๋ค๋ฅธ ํจ์์ ์ธ์๋ก์ ๋๊ฒจ์ฃผ๋ ์คํ ๊ฐ๋ฅํ ํจ์๋ฅผ ๋งํ๋ค. ์ฝ๋ฐฑ์ ๋๊ฒจ๋ฐ๋ ์ฝ๋๋ ์ด ์ฝ๋ฐฑ์ ํ์์ ๋ฐ๋ผ ์ฆ์ ์คํํ ์๋ ์๊ณ , ์๋๋ฉด ๋์ค์ ์คํํ ์๋ ์๋ค.
์ด๋ฒคํธ ๊ฐ์ฒด
// 1. ๊ณ ์ ์ด๋ฒคํธ ์ฌ์ฉ
element.on์ด๋ฒคํธํ์
๋ช
= function(event){
}
// 2. addEventLister() ์ฌ์ฉ
element.addEventListener('์ด๋ฒคํธํ์
', function(event){
});
- addEventListener ์ฝ๋ฐฑํจ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์ ํด์ฃผ๋ฉด(์ด ๋ ํ๋ผ๋ฏธํฐ ์ด๋ฆ์ ๋ฌด์์ด๋ ์๊ด์๋ค. ํจ์์ ์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ฅผ ์๋์ผ๋ก ์ด๋ฒคํธ ๊ฐ์ฒด๋ก ์ง์ ํ๋ค. ํ์ง๋ง ๋ณดํต e ๋๋ event๋ก ๋ค์ด๋ฐํ๋ ๊ฒ์ด ๊ด๋ก์ด๋ค.) ์ด ์ด๋ฒคํธ ๊ฐ์ฒด๋ ํด๋น ์์์ ๋ฐ์ํ ๋ชจ๋ ์ด๋ฒคํธ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด์ ๊ฐ์ฒด์ด๋ค.
- ์ด๋ฒคํธ ๊ฐ์ฒด์ ๋ด์ฉ์ ๊ทธ ์ด๋ฒคํธ์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค.
- ex. click ์ด๋ฒคํธ์์๋ MouseEvent ๊ฐ์ฒด, input ์ด๋ฒคํธ์์๋ InputEvent ๊ฐ์ฒด๊ฐ ๋ฐ์ํ๋ค.
event.target.value์ event.data
event.target.value๋ ํญ์ ํ์ฌ ์์์ event๋ฅผ ํตํด ์ ์ฅ๋ ์์ ํ ๊ฐ์ ์ ๊ณตํด์ฃผ๋ ๋ฐ๋ฉด์ event.data๋ ๋ง์ง๋ง ์ด๋ฒคํธ ๋ฐ์์ผ๋ก ์ถ๊ฐ๋ ๊ตฌ์ฒด์ ์ธ ์ ๋ ฅ๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐ป Programming > JS, TS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ๋ก css ์คํ์ผ ๋ณ๊ฒฝํ๊ธฐ (0) | 2024.01.13 |
---|---|
[JavaScript] window&document ์ ์ญ๊ฐ์ฒด์ DOM (0) | 2024.01.11 |
[JavaScript] slice vs splice vs split ์ฐจ์ด์ (0) | 2023.08.08 |
[TypeScript] Map (0) | 2023.07.27 |
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํฌ๋ฆฌ์ค๋ง์ค๊น์ง ๋จ์ ์๊ฐ ๊ณ์ฐํ๊ธฐ (0) | 2023.06.21 |