์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ธ๋์น ์์ฑ
- branch ํ์ธ
- branch ์ญ์
- markdown
- Git๋ช ๋ น์ด
- ๋ธ๋์น ํ์ธ
- ๋ธ๋์น ์ญ์
- ๋งํฌ๋ค์ด
- ![rejected]
- ์ฝ๋๋ธ๋ญ
- branch ์์ฑ
- ์ฝ๋๋ธ๋ก
- Today
- Total
DevLog
TIL(20210706) - onclick / addEventListener ๋ณธ๋ฌธ
๐ Daily
- ์ด๋ฒคํธ ๊ฐ์ฒด ํ์ต
- DOM์ผ๋ก HTML ์กฐ์ํ๊ธฐ
๐ค Learned
onclick์ ์ง์ ํ ๋นํ๋ ๊ฒ๊ณผ addEventListener์ ์ฐจ์ด
onclick
document.getElementById('test').onclick = () => {
alert('hello! I'm onclick');
}
addEventListener
document.getElementById('test').addEventListener('click',()=>{
alert('hello! I'm addEventListener');
},false);โ
๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก addEventListener ๋ฐฉ๋ฒ์ ์ฐ๋ ๊ฒ์ด ์ฅ์ ์ด ๋ ๋ง๋ค.
addEventListener ์ฅ์ :
์ฌ๋ฌ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ํธ์ถํ ์ ์๋ค.
var element = document.getElementById('Test');
element.onclick = function () { alert('Test #1'); };
element.onclick = function () { alert('Test #2'); };
์์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ onClick ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ค๊ณ ๊ฐ์ ํ์. ์ค์ ๋ก element๋ฅผ 'ํด๋ฆญ'ํ๋ฉด 'Test #2'๋ง ๋ณด์ผ ๊ฒ์ด๋ค.
์ด์ฒ๋ผ onClick ๋ฉ์๋๋ ์ฒซ ๋ฒ์งธ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ์งธ ์ด๋ฒคํธ๊ฐ overwrite ํจ์ผ๋ก์จ ์ฒซ ๋ฒ์งธ ์ด๋ฒคํธ('Test #1')๊ฐ ๊ตฌํ๋์ง ๋ชปํ๊ฒ ํ๋ค.
element.addEventListener('click', function() {alert('Test #1')}, false);
element.addEventListener('click', function() {alert('Test #2')}, false)
ํ์ง๋ง AddEventListener๋ ๋ ์ด๋ฒคํธ๊ฐ ์ ๋ถ ๊ตฌํ๋๋ค.
addEventListener ์ฅ์ :
bubbling, capturing์ ์ค์ ํ ์ ์๋ค.
addEventListener("type", ์ด๋ฒคํธ ๋ฆฌ์ค๋(ํจ์), false(๋ฒ๋ธ๋ง) / true(์บก์ณ๋ง) ) - default ๊ฐ์ false(๋ฒ๋ธ๋ง).
addEventListener('click', functionName, false);โ
Onclick ์ฅ์ :
์ฐ์ ๋ธ๋ผ์ฐ์ ์ ํธํ์ฑ ๋ฉด์์, Onclick ๋ฉ์๋๋ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์ ๋ฒ์ ์์ ํธํ๋๋๋ฐ ๋นํด
AddEventListener๋ IE 6,7,8 ์์๋ ํธํ๋์ง ์๋๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
๊ตฌ ๋ฒ์ ์ IE์์๋ ๋์ํ๊ธฐ๋ฅผ ์ํ๊ฑฐ๋, ํธํ์ฑ์ ์ ๊ฒฝ ์ฐ๊ณ ์ถ์ง ์๋ค๋ฉด OnClick ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>์ด๋ฒคํธ ๊ฐ์ฒด</title>
</head>
<body>
<button>์๋ฉ๋ฆฌ์นด๋
ธ</button>
<button>์นดํ๋ผ๋ผ</button>
<script>
let menus = document.querySelectorAll("button"); //๋ชจ๋ ๋ฒํผ์ ๊ฐ์ ธ์ต๋๋ค.
let btnAmericano = menus[0];
let btnCaffelatte = menus[1];
btnAmericano.onclick = handleClick;
btnCaffelatte.onclick = handleClick; // ์ด์์ผ๋ก for ๋ฌธ์ผ๋ก ์ถฉ๋ถํ ๊ตฌํํ ์ ์๋ ๋ด์ฉ์
๋๋ค.
btnAmericano.addEventListener("click", eventClick);
btnCaffelatte.addEventListener("click", eventClick);
function handleClick() {
// ์๋์ ๋น ์นธ(____)์ ์ฑ์ฐ์ธ์.
let currentMenu = event.target.textContent; // TODO
console.log(currentMenu + "๋ฅผ ํด๋ฆญํ์
จ์ต๋๋ค.(onclick)");
}
function eventClick() {
let currentMenu = event.target.textContent; // TODO
console.log(currentMenu + "๋ฅผ ํด๋ฆญํ์
จ์ต๋๋ค.(eventListener)");
}
</script>
</body>
</html>โ
๐ Tomorrow
- ๊ณ ์ฐจํจ์
- ๊ณํํ๋๋ก ์งํํ๊ธฐ
'๐ค TIL(Today I Learned)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL(20210708) - JSX๊ท์น (0) | 2021.07.08 |
---|---|
TIL(20210707) - ๊ณ ์ฐจํจ์ (0) | 2021.07.07 |
TIL(20210705) - DOM (0) | 2021.07.06 |
TIL(20210703) (0) | 2021.07.03 |
TIL(20210702) - Spread/Rest, ๊ตฌ์กฐ๋ถํด(Destructing) (0) | 2021.07.02 |