이벤트 리스너는 연결된 JavaScript 요소에서 제거할 때까지 활성 상태를 유지합니다. 다음 구문을 사용하여 제거할 수 있습니다.
element.removeEventListener(type, listener, useCapture);
이벤트 리스너 제거 파라미터는 이벤트 리스너를 추가할 때 사용하는 파라미터와 비슷합니다. 이벤트 리스너를 제거할 때는 동일한 유형, 리스너 및 useCapture 파라미터를 지정해야 합니다. 그렇지 않으면 이벤트 리스너가 활성 상태로 유지되며 향후 이벤트 발생 시 계속 트리거됩니다.
예를 들어 다음 코드를 사용하여 이벤트를 추가할 수 있습니다.
button.addEventListener("click", RespondMouseClick, true);
하지만 다음 코드를 적용하면 이벤트 리스너가 제거되지 않습니다. useCapture 값이 버튼 객체에 등록된 값과 다르기 때문입니다.
button.removeEventListener("click", RespondMouseClick, false);
이벤트를 성공적으로 제거하고 이벤트가 트리거되지 않도록 하려면 다음 코드를 사용하면 됩니다.
button.removeEventListener("click", RespondMouseClick, true);