
2022-06-15
자바스크립트 10가지 프로팁!
프로처럼 자바스크립트 사용할 수 있는 10가지 팁
JavaScript Click Event
자바스크립트에서 클릭이벤트를 발생시킬 때 onclick과 addEventListenr 두가지 방법을 사용합니다. 두가지 방법엔 차이점이 존재하기 때문에 두가지 방식으로 코드를 작성해 보면서 알게된것을 정리해보았습니다.
1. onclick
<!--html--> <button>click me!</button>
// javascript const btn = document.querySelector('button'); btn.onclick = () => { console.log('1'); }; btn.onclick = () => { console.log('2'); }; btn.onclick = () => { console.log('3'); };
👉결과
버튼을 누르면 콘솔 탭에서 마지막으로 호출한 3만 출력되고 전에 호출된 1,2는 출력되지 않습니다.
이처럼 onclick
은 이벤트가 여러개 적용되지 못하고 새로운 이벤트가 추가되면 기존의 이벤트를 덮어씌우며 마지막에 등록된 이벤트만 작동된니다.
2. addEventListenr
<!--html--> <button>click me!</button>
// javascript const btn = document.querySelector('button'); btn.addEventListener('click', () => { console.log('1'); }); btn.addEventListener('click', () => { console.log('2'); }); btn.addEventListener('click', () => { console.log('3'); });
👉 결과
호출된 1,2,3 전부 출력됩니다.
이처럼 addEventListenr
를 사용하면 이벤트를 여러번 사용해도 누적되어 모든 이벤트가 작동됩니다.
💡 **
onclick
**과 **addEventListenr
**는 덮어쓰기 vs 누적의 차이입니다.
onclick
은 하나의 요소에 클릭 이벤트를 걸어줄 때마다 기존에 등록되었던 클릭 이벤트가 덮어씌여지지만,
addEventListenr
는 하나의 요소에 여러개의 핸들러를 등록할 수 있으며 HTML element 뿐만 아니라 모든 DOM element에 대해 동작합니다.
또한 이벤트 캡쳐링과 버블링을 설정할 수도 있기 때문에 좀더 세밀한 이벤트 등록이 가능합니다.

자바스크립트 10가지 프로팁!
프로처럼 자바스크립트 사용할 수 있는 10가지 팁

자바스크립트 10가지 프로팁!
프로처럼 자바스크립트 사용할 수 있는 10가지 팁