이벤트 핸들러 (같은 이벤트는 하나밖에 바인딩 안됨)
- 인라인(Inline) 방식: 이벤트를 HTML 요소의 속성으로 직접 지정하는 방식
<button onclick="eventHandler()">버튼</button>
<script>
function eventHandler() {
alert('Hello world');
}
</script>
- 프로퍼티 방식(Property): 자바스크립트 코드에서 프로퍼티로 등록하여 사용하는 방식
<button id="eventBtn">버튼</button>
<script>
let eventBtn = document.querySelector('#eventBtn');
eventBtn.onclick = function () {
alert('Hello world');
};
</script>
이벤트 리스너 (같은 이벤트 여러개 바인딩 가능)
- addEventListener() 방식, attachEvent() 방식
- IE 9 이상에서 동작 한다. (IE 8이하에는 attachEvent() 방식을 사용해야 한다.)
- 프로퍼티로 방식은 "on"이 붙은 이벤트 타입을 사용하지만, addEventListener() 방식은 "on"이 붙지 않은 이벤트 타입을 사용한다.
- removeEventListener() 를 이용해 해당 리스너를 삭제 가능
<button id="eventBtn">버튼</button>
<script>
let eventBtn = document.querySelector('#eventBtn');
function testEvent(){
alert('Hello world1');
}
eventBtn.addEventListener('click', testEvent);
eventBtn.addEventListener('click', function () {
alert('Hello world2'); // Hello world1, Hello world2 2개가 띄어짐
alert(this.innerText); // 해당 버튼 요소의 텍스트 띄움 (eventBtn)
// 해당 리스너 삭제 → 다음 버튼 클릭 시 Hello world2 만 띄어짐
eventBtn.removeEventListener('click', testEvent);
});
}
</script>
참고 링크 1: https://goddaehee.tistory.com/269
[JavaScript (17)] Javascript Event(1) - 기초
[JavaScript (17)] Javascript Event(1) - 기초 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 자바스크립트 이벤트 기본 ] 입니다. : ) ▶ 1. 이벤트(event)란? - 어떤 사건을 의미한다. ex)..
goddaehee.tistory.com
JS에서 이벤트 핸들러와 addEventListener의 차이점은 무엇입니까?
이벤트! 웹 사이트를 실제로 "일"하는 중요한 방법입니다. MDN은 이벤트를 다음과 같이 정의합니다.“이벤트 인터페이스는 DOM에서 발생하는 이벤트를 나타냅니다.
ichi.pro
'Web > JavaScript' 카테고리의 다른 글
JavaScript - DOM 요소 선택자 (요소 접근) (0) | 2021.09.08 |
---|---|
JavaScript - 조건문, 반복문 (0) | 2021.09.08 |
JavaScript - TypeScript (0) | 2021.09.02 |
Vue.js - Kakao Map API (0) | 2021.08.31 |
Vue.js - DOM 요소 접근 (0) | 2021.08.30 |