이벤트 핸들러 제거 - removeEventListener 한번호출

imjingu·2023년 7월 31일
0

개발공부

목록 보기
255/481

이벤트 핸들러 제거
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>

0개의 댓글