728x90
๐ชโ ์ด๋ฒคํธ
- ์ด๋ค ๋์์ด๋ ์ํ ๋ฑ์ ์ฌ๊ฑด์ ๋ฐ์ํ๋ ๊ฒ์ ์๋ฏธ
- html dom ์์๋ค์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๊ฑธ ์์์ฑ ์ ์๋๋ก ์ด๋ฒคํธ ์ ํธ๋ฅผ ๋ฐ์
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐ์ํ ์ด๋ฒคํธ์ ๋ฐ์์ ํด์ ์ด๋ค ๋์์ ์ํํ ์ ์์
- ํด๋น ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ ์ ์๋ EventListener๋ฅผ EventHandler๋ฅผ ์ง์ = ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ฑ๋กํ๋ค
๐ชโ addEventListener()
- ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ฑ๋กํ๊ธฐ ์ํด ๋ฉ์๋ ์ฌ์ฉ
- ๋ฉ์๋์ ์ฒซ ๋ฒ์งธ ์ธ์์๋ ์ด๋ฒคํธ์ ์ข ๋ฅ๋ฅผ ๋ฌธ์์ด๋ก ์ง์
- ๋ ๋ฒ์งธ ์ธ์์๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์คํ์ํฌ EventHandler ํจ์๋ฅผ ์ ๋ฌ ํด์ฃผ์ด์ผ ํจ
- ๋ด๋ถ์ ์ง์ ์์ฑํ์ฌ๋ ๋จ
- ํจ์๋ฅผ ์์ฑํ์ฌ ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ์์ฑ
- EventHandlerํจ์๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ๋ธ๋ผ์ฐ์ ์์ ์์ฑํ๋ ์ด๋ฒคํธ๋ผ๋ ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ๋ฐ๊ธฐ ๋๋ฌธ์ ์ด๋ฒคํธ๋ผ๋ ์ธ์๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅ
- PointerEvent๋ผ๋ ๊ฐ์ฒด๊ฐ ์ถ๋ ฅ์ด ๋๊ณ ์๊ณ ๊ฐ์ฒด ์์๋ ์ด๋ฒคํธ์ ๊ด๋ จ๋ ์ ๋ณด๊ฐ ๋ค์ด์๋ ๊ฒ์ ์ ์ ์์
const button = document.querySelector('button');
function handler(event){
console.log(event);
}
button.addEventListener('click', handler);
const button = document.querySelector('button');
function handler(event){
console.log('♣');
}
button.addEventListener('click', handler);
๐ชโ removeEventListener()
- EventListener ์ญ์
- ํด๋ ์ค์ ์ด๋ฆ์ผ๋ก ๊ฐ์ง๊ณ ์ด
- ์์ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๋ฑ๋ก
- ๋ฑ๋กํ EventListener๋ฅผ ์ญ์ ํ ๋๋ removeEventListener๋ผ๋ ๋ฉ์๋ ์ฌ์ฉ
- ์ฒซ ๋ฒ์งธ ์ธ์์๋ ์ด๋ฒคํธ์ ์ข ๋ฅ๋ฅผ ๋ช ์
- ๋ ๋ฒ์งธ ์ธ์์๋ ๋ฑ๋กํ๋ Handle๋ฅผ ์ ๋ฌ
- ๋ฑ๋กํ EventHandler๊ฐ ๋์์ ์ํ๊ณ ์์๋๋ฐ ๋ฒํผ์ ๋๋ฅด๊ณ ๋ค์ ๋๋ฅด๋ฉด ๋ฑ๋กํ EventListener๊ฐ ์ญ์ ๋์ด ๋ ์ด์ ์ด๋ชจ์ง๊ฐ ์ถ๋ ฅ๋์ง ์์
const button = document.querySelector('button');
const removeButton = document.querySelector('.remove');
function handler(event) {
console.log('♥');
}
function removeHandler(event) {
button.removeEventListener('click', handler);
}
button.addEventListener('click', handler);
removeButton.addEventListener('click', removeHandler);
'Front > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ๊ฐ์ฒด ์ถ์ฝ ๋ฌธ๋ฒ (0) | 2024.07.23 |
---|---|
[JavaScript] ๋ชจ๋ (0) | 2024.07.07 |
[JavaScript] DOM (0) | 2024.07.06 |
[JavaScript] ๊ตฌ์กฐ๋ถํดํ ๋น (0) | 2024.07.06 |
[JavaScript] ๊ฐ์ฒด (0) | 2024.07.05 |