eventListener 를 통해 특정 이벤트에 대한 처리를 할 수 있다.<div class="box" onclick="console.log('클릭!');"></div>
.box {
width: 100px;
height: 100px;
border : 3px solid red;
}
onclick과 같은 요소가 가지고 있는 이벤트 속성에 실행할 콜백 함수를 직접 지정한다.<div class="box"></div>
.box {
width: 100px;
height :100px;
}
let box = document.querySelector(".box");
// box 요소에 클릭 이벤트 발생시 색상을 변경하는 console 창에 "클릭!"을 출력하는 콜백 함수 등록
box.onclick = function() {
console.log("클릭!");
}
// "클릭"이라는 문구와 함께 경고창을 띄우는 콜백함수 등록
// 뒤에 작성된 이 콜백함수만 실행
box.onclick = function() {
alert("클릭!");
}
addEventListener 함수를 이벤트에 콜백함수 지정addEventListener의 첫번째 인자로 처리할 이벤트를 문자열로, 두번째 인자로는 처리할 코드를 콜백함수로 지정한다.addEventListener 실행 시 덮어씌우는 것이 아니라 중복 적용된다.let box = document.querySelector(".box");
// box 요소에 클릭 이벤트 발생시 색상을 변경하는 console 창에 "클릭!"을 출력하는 콜백 함수 등록
box.addEventListener("click", function() {
console.log("클릭!);
});
// "클릭"이라는 문구와 함께 경고창을 띄우는 콜백함수 등록
// addEventListener이기 때문에 위의 콜백함수와 함께 둘다 실행
box.addEventListener("click", function() {
alert("클릭!");
});
4.removeEventListener
addEventListener로 등록 시 기명함수로 등록돼 있어야 한다.let box = document.querySelector(".box");
// box 요소에 클릭 이벤트 발생시 색상을 변경하는 console 창에 "클릭!"을 출력하는 콜백 함수 등록
function concoleClick() {
console.log("click");
}
// 기명함수 형태로 클릭 이벤트에 대한 콜백함수를 지정
box.addEventListener("click", concoleClick);
// 클릭 이벤트에 지정되어 있는 concoleClick 콜백함수 삭제
box.removeEventListner("click", concoleClick);
// consolClick 콜백함수가 이벤트 리스너에서 삭제됐기 때문에 밑의 코드만 실행
box.addEventListener("click", function() {
alert("클릭!");
});
let box = document.querySelector(".box");
// click 이벤트에 등록된 콜백함수의 첫번째 인자로 Event 객체 전달
box.addEventListner("click", function(e) {
console.log(e); // 이벤트와 관련된 프로퍼티 및 메서드 출력
}
event.currentTarget과 실제 이벤트 대상인 event.target 은 다른 개념이다.<div class="container">
<class class="box">
<p>
p 태그입니다.
</p>
</div>
</div>
let container = document.querySelector(".container");
container.addEventListener("click", function(e){
console.log("이벤트 타겟 : ", e.target);
console.log("현재(실제) 타겟 : ", e.currentTarget);
})
Element.matches() 메서드를 통해 분기처리를 할 수 있다.true, false를 반환한다.