요소 교체 없이 이벤트 리스너 제거
JavaScript에서 addEventListener 메소드를 사용하여 추가된 익명 이벤트 리스너는 원본에 대한 지식 없이는 직접 제거할 수 없습니다. 함수 참조.
변수에 할당:
한 가지 해결 방법은 익명 함수를 이벤트 리스너에 추가하기 전에 변수에 할당하는 것입니다.
<code class="js">const myEventHandler = function() { // Your code here }; element.addEventListener(event, myEventHandler, false);</code>
그런 다음 변수에 대한 참조를 제거하여 이벤트 리스너를 제거할 수 있습니다.
<code class="js">element.removeEventListener(event, myEventHandler);</code>
객체에 저장:
또 다른 접근 방식은 저장하는 것입니다. 기본 객체 내의 객체에 있는 익명 이벤트 핸들러:
<code class="js">mainObject.eventHandlers = { [event]: function() { // Your code here } }; element.addEventListener(event, mainObject.eventHandlers[event], false);</code>
객체를 반복하고 적절한 속성을 제거하여 이벤트 리스너를 제거할 수 있습니다:
<code class="js">for (const event in mainObject.eventHandlers) { element.removeEventListener(event, mainObject.eventHandlers[event]); }</code>
참고 : 이벤트 핸들러를 제거하면 나중에 이벤트 핸들러가 트리거되는 것만 방지된다는 점을 기억하는 것이 중요합니다. 이미 발생한 모든 이벤트는 계속해서 해당 핸들러를 실행합니다.
위 내용은 요소를 교체하지 않고 익명 이벤트 리스너를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!