DOM 이벤트 핸들러를 재정의하는 올바른 방법은 무엇입니까?

Wololoo

버튼을 만들고 클릭 핸들러를 첨부 한 경우 :

let btn = document.createElement("button");
btn.innerHTML = "Do Something";
btn.onclick = () => { doSomething(); };
document.body.appendChild(btn);

나중에 다른 용도로 단추를 다시 사용하고 싶습니다. 이벤트 처리기를 재정의하는 안전한 방법입니까?

btn.innerHTML = "Do Something Else";
btn.onclick = () => { doSomethingElse(); }

btn.onclick = null;새 핸들러를 연결하기 전에 설정 한 몇 가지 예를 보았습니다 . 또한 addEventListener()/ removeEventListener(). 이 방법들 사이에 차이점이 있습니까? 이 중 하나로 메모리 누수를 일으킬 수 있습니까?

Imran Rafiq 오히려

주어진 객체의 동일한 이벤트에 대해 여러 핸들러를 설치할 수 있도록하려면 객체 addEventListener()의 주어진 이벤트에 대한 핸들러 목록을 관리하는 메서드를 호출 할 수 있습니다 . 그런 다음 해당 removeEventListener()함수 를 호출하여 개체에서 처리기를 제거 할 수 있습니다 .

이전 이벤트 핸들러를 제거한 후 event동일한 요소에 핸들러를 다시 연결할 수 있습니다 . 이렇게하면 메모리 누수가 발생하지 않습니다.

코드 데모 :

let btn = document.createElement("button");
btn.innerHTML = "Do Something";
element.addEventListener("click", doSomething, true)
document.body.appendChild(btn);

           ...
btn.removeEventListener("click", doSomething, true);  

// 세 번째 인수는 이전 경우와 동일해야합니다. 이 경우 true입니다.

btn.addEventListener("click",doSomethingThingElse};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Blazor 서버를 사용할 때 클라이언트 DOM 자바 스크립트 이벤트 핸들러를 추가하는 방법은 무엇입니까?

분류에서Dev

이벤트 핸들러의 올바른 이름은 무엇입니까? onClick 또는 handleClick?

분류에서Dev

동일한 부모로 다른 이벤트 핸들러를 처리하는 방법은 무엇입니까?

분류에서Dev

DOM 개체를 통해 컨트롤을 수정하는 올바른 방법은 무엇입니까?

분류에서Dev

DOM 이벤트 핸들러 내에서 직접 범위 함수를 호출하는 가장 짧은 방법은 무엇입니까?

분류에서Dev

다른 앱 (Windows)에서 마우스 이벤트를 올바르게 재정의하는 방법은 무엇입니까?

분류에서Dev

이벤트에 DOM 요소를 생성 한 다음 DOM 요소가 존재할 때까지 이벤트 핸들러가 트리거되는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

React JS의 다른 입력에 하나의 이벤트 핸들러를 연결하는 방법은 무엇입니까?

분류에서Dev

이벤트 핸들러를 요소 클래스 메소드로 정의하는 방법은 무엇입니까?

분류에서Dev

React에서 이벤트 onKeyPress를 입력하는 올바른 방법은 무엇입니까?

분류에서Dev

하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

분류에서Dev

Javascript / jQuery를 사용하여 이벤트 핸들러를 배열 항목 제거에 바인딩하는 방법은 무엇입니까?

분류에서Dev

Button onClick 이벤트 핸들러를 선언적으로 설정하는 방법은 무엇입니까?

분류에서Dev

이벤트 핸들러의 마법은 무엇입니까?

분류에서Dev

Flutter에서 위젯의 이벤트 핸들러 함수에 값을 올바르게 전달하는 방법은 무엇입니까?

분류에서Dev

"휠"이벤트를 올바르게 "dispatchEvent"하는 방법은 무엇입니까?

분류에서Dev

JavaScript의 이벤트 핸들러에서 공용 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 이벤트 이후에만 나타나는 DOM의 요소에 태그를 지정하는 방법은 무엇입니까?

분류에서Dev

Space 키를 수신하는 키 이벤트 핸들러를 추가하는 방법은 무엇입니까?

분류에서Dev

React에서 이벤트 핸들러 외부에서 바인딩 된 함수를 실행하는 방법은 무엇입니까?

분류에서Dev

jQuery이 '폐쇄'를 수정하는 올바른 방법은 무엇입니까?

분류에서Dev

React 양식 입력 이벤트 핸들러를 사용하는 방법은 무엇입니까?

분류에서Dev

jest에서 지연된 이벤트 핸들러를 테스트하는 방법은 무엇입니까?

분류에서Dev

이벤트 핸들러를 하나로 사용하는 방법은 무엇입니까? 파이썬

분류에서Dev

반응에서 onClick 이벤트를 올바르게 정의하는 방법은 무엇입니까?

분류에서Dev

React : 이벤트 핸들러 내에서 반응 후크를 호출하는 방법은 무엇입니까?

분류에서Dev

.one () 함수가 호출 된 후 이벤트 핸들러를 활성화하는 방법은 무엇입니까?

분류에서Dev

Javascript 이벤트 핸들러를 먼저 실행하는 방법은 무엇입니까?

분류에서Dev

ical 이벤트를 만들 이메일을 작성하는 올바른 구문은 무엇입니까?

Related 관련 기사

  1. 1

    Blazor 서버를 사용할 때 클라이언트 DOM 자바 스크립트 이벤트 핸들러를 추가하는 방법은 무엇입니까?

  2. 2

    이벤트 핸들러의 올바른 이름은 무엇입니까? onClick 또는 handleClick?

  3. 3

    동일한 부모로 다른 이벤트 핸들러를 처리하는 방법은 무엇입니까?

  4. 4

    DOM 개체를 통해 컨트롤을 수정하는 올바른 방법은 무엇입니까?

  5. 5

    DOM 이벤트 핸들러 내에서 직접 범위 함수를 호출하는 가장 짧은 방법은 무엇입니까?

  6. 6

    다른 앱 (Windows)에서 마우스 이벤트를 올바르게 재정의하는 방법은 무엇입니까?

  7. 7

    이벤트에 DOM 요소를 생성 한 다음 DOM 요소가 존재할 때까지 이벤트 핸들러가 트리거되는 것을 방지하는 방법은 무엇입니까?

  8. 8

    React JS의 다른 입력에 하나의 이벤트 핸들러를 연결하는 방법은 무엇입니까?

  9. 9

    이벤트 핸들러를 요소 클래스 메소드로 정의하는 방법은 무엇입니까?

  10. 10

    React에서 이벤트 onKeyPress를 입력하는 올바른 방법은 무엇입니까?

  11. 11

    하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

  12. 12

    Javascript / jQuery를 사용하여 이벤트 핸들러를 배열 항목 제거에 바인딩하는 방법은 무엇입니까?

  13. 13

    Button onClick 이벤트 핸들러를 선언적으로 설정하는 방법은 무엇입니까?

  14. 14

    이벤트 핸들러의 마법은 무엇입니까?

  15. 15

    Flutter에서 위젯의 이벤트 핸들러 함수에 값을 올바르게 전달하는 방법은 무엇입니까?

  16. 16

    "휠"이벤트를 올바르게 "dispatchEvent"하는 방법은 무엇입니까?

  17. 17

    JavaScript의 이벤트 핸들러에서 공용 함수를 호출하는 방법은 무엇입니까?

  18. 18

    다른 이벤트 이후에만 나타나는 DOM의 요소에 태그를 지정하는 방법은 무엇입니까?

  19. 19

    Space 키를 수신하는 키 이벤트 핸들러를 추가하는 방법은 무엇입니까?

  20. 20

    React에서 이벤트 핸들러 외부에서 바인딩 된 함수를 실행하는 방법은 무엇입니까?

  21. 21

    jQuery이 '폐쇄'를 수정하는 올바른 방법은 무엇입니까?

  22. 22

    React 양식 입력 이벤트 핸들러를 사용하는 방법은 무엇입니까?

  23. 23

    jest에서 지연된 이벤트 핸들러를 테스트하는 방법은 무엇입니까?

  24. 24

    이벤트 핸들러를 하나로 사용하는 방법은 무엇입니까? 파이썬

  25. 25

    반응에서 onClick 이벤트를 올바르게 정의하는 방법은 무엇입니까?

  26. 26

    React : 이벤트 핸들러 내에서 반응 후크를 호출하는 방법은 무엇입니까?

  27. 27

    .one () 함수가 호출 된 후 이벤트 핸들러를 활성화하는 방법은 무엇입니까?

  28. 28

    Javascript 이벤트 핸들러를 먼저 실행하는 방법은 무엇입니까?

  29. 29

    ical 이벤트를 만들 이메일을 작성하는 올바른 구문은 무엇입니까?

뜨겁다태그

보관