이벤트 핸들러 제거
removeEventListener 메서드에 인수로 전달한 이벤트 핸들러는 addEventListener 메서드에 인수로 전달한 등록 이벤트 핸들러와
동일한 함수여야 함
따라서 무명함수를 이벤트 핸들러로 등록한 경우에는 제거할 수 없음
단, 기명 이벤트 핸들러 내부에서 removeEventListener 메서드를 호출하여 이벤트 핸들러를 제거하는 것은 가능
이때 이벤트 핸들러는 단 한번만 호출
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>Click me!</button>
<script>
/*
*/
const btn = document.querySelector('button')
btn.addEventListener('click', function foo() {
console.log('button click');
// 이벤트 핸들러 제거 따라서 이벤트 핸들러는 단 한번만 호출
btn.removeEventListener('click', foo);
});
</script>
</body>
</html>