Program Tip

jquery를 사용하여 모든 이벤트를 바인딩 해제하는 방법

programtip 2020. 11. 3. 18:54
반응형

jquery를 사용하여 모든 이벤트를 바인딩 해제하는 방법


이 코드를 사용하여 클릭 이벤트를 제거 할 수 있습니다.

$('p').unbind('click')

하지만 모든 이벤트를 제거하는 방법이 있습니까?

unbindAlljquery에 명명 메서드가 있습니까?

감사


.unbind()이를 위해 매개 변수없이 호출 할 수 있습니다 .

$('p').unbind();

에서 워드 프로세서 :

가장 간단한 경우에는 인수가 없으면 .unbind()요소에 연결된 모든 처리기를 제거합니다.


jQuery를 1.7, 현재 off()on()결합하고 결합 해제 이벤트 핸들러에 바람직한 방법이다.

따라서 요소에서 모든 핸들러를 제거하려면 다음을 사용하십시오.

$('p').off();

또는 특정 핸들러의 경우 :

$('p').off('click hover');

이벤트 핸들러를 추가하거나 바인딩하려면 다음을 사용할 수 있습니다.

$('p').on('click hover', function(e){
    console.log('click or hover!');
});

@jammypeach는 허용되는 사용 방법 인 on & off에 대해 옳습니다. Unbind는 때때로 이상한 동작을 생성합니다 (예 : 실제로 이벤트를 올바르게 바인딩 해제하지 않음).

본문 내의 모든 요소를 ​​바인딩 해제하려면 모든 요소를 ​​찾고 각 요소에 대해 클릭 핸들러를 끕니다 (이전의 바인딩 해제는 무엇 이었습니까).

$("body").find("*").each(function() {
    $(this).off("click");
});

이 스택 오버플로 질문 에서 해제 한 이벤트를 저장하는 방법도 참조 하세요 .

참고 URL : https://stackoverflow.com/questions/3569393/how-to-unbind-all-event-using-jquery

반응형