Develop record
[Javascript] addEventListener 본문
- 이젠에 추가한 이벤트 핸들러를 제거할 수 있는 대응 메소드가 존재 => remove()
- 같은 리스너(타겟)에대해 다수의 핸들러를 등록할 수 있음
- 추가적인 옵션 사항들이 제공
이벤트 객체
- 추가적인 기능과 정보를 제공하기 위해 이벤트 핸들러에 자동으로 전달되는 데이터
- 이벤트 발생 시, 이벤트 핸들러가 호출 될 때 이벤트 객체가 전달 -> 이벤트 핸들러 함수의 매개변수를 통해 이벤트 객체를 받을 수 있음
// click 이벤트가 발생하면 함수를 호출
target.addEventListener('click',function(){})
// click 이벤트가 발생하면 함수를 호출
// + 이때 자동으로 전달되는 이벤트 객체를 매개변수 event에 대입
target.addEventListener('click',function(event){})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>addEventListener</title>
</head>
<body>
<h1>addEventListener</h1>
<button id="one">버튼1</button>
<button id="two">버튼2</button>
<button id="three">버튼3</button>
<script src="event.js"></script>
</body>
</html>
const btn1 = document.getElementById("one")
const btn2 = document.getElementById("two")
const btn3 = document.getElementById("three")
const handleClick = function(){
console.log("저를 클릭하셨나요?")
}
//인자로 전달되는 함수 : 콜백 함수
btn2.addEventListener('click', handleClick)
btn2.addEventListener('click',function(){
console.log("또 다른 핸들러가 추가 등록되었다")
})
//여러개의 이벤트를 다발적으로 등록 가능
//onclick -> 마지막에 동록된 것만 덮어 씌워짐
btn2.removeEventListener('click', handleClick)
//click 이벤트에 대해 handleClick을 제거
//등록된 handler를 제거
const handleClick2 = function(event){ //이벤트 핸들러를 전달 받는 매개변수명 : event, e 많이 사용
console.log(event.target) //이벤트가 발생한 순간에 타겟을 알려 줌
}
btn1.addEventListener('click', handleClick2)
'Programming Language > Javascript' 카테고리의 다른 글
[Javascript] value, preventDefault (1) | 2024.01.14 |
---|---|
[Javascript] createElement, appendChild (0) | 2024.01.14 |
[Javascript] Event (0) | 2024.01.14 |
[Javascript]함수 (1) | 2024.01.11 |
[Javascript] For (0) | 2024.01.10 |