이벤트리스너(event listener)란?
이벤트리스너 사용하기
- 셀렉터 뒤에
.addEventListener('이벤트', 함수이름(){함수내용})
로 지정이 가능하고, 첫번째 인수에 지정한 이벤트
가 실행되면, 두번째 인수에 지정한 익명함수
가 실행된다.
- 여기서 지정된 익명함수를
Event Listener
혹은 Event Handler
라고 한다.
예시
<div id="target">여기에용</div>
<button onclick="textChange()">Change!</button>
function textChange() {
document.getElementById('target').innerHTML = 'Text changed!';
}
Change!
버튼을 누르면 div 안의 내용이 'Text changed!'
로 변경되는 코드
이벤트리스너를 사용하여 onclick 속성 없애기
<div id="target">여기에용</div>
<button id="changeBtn">Change!</button>
let changeBtn = document.getElementById('changeBtn');
let target = document.getElementById('target');
changeBtn.addEventListener('click', function() {
target.innerHTML = 'Text changed!';
})
- 위 처럼 이벤트리스너를 활용하면 HTML에 onclick 속성을 사용하지 않고, JS 내에서 더 다양한 이벤트로 HTML을 제어 할 수 있다.
+
- 생각해보면 일일히 기능 추가 할 때 html 문서가서 onclick 추가하느니, JS 한번에 제어하는게 맘 편하고 쉬울거같다.
혹시라도 실수하는 경우 JS 문서만 수정하면 되니까.