문제

클릭 이벤트를 버튼 요소에 첨부 한 다음 나중에 제거하고 싶지만 예상대로 작동하기 위해 unc unclick () 또는 Unbind () 이벤트를 얻을 수는 없습니다. 아래 코드에서 버튼은 'tan'색상이며 클릭 이벤트는 작동합니다.

window.onload = init; 
function init() {
    $("#startButton").css('background-color', 'beige').click(process_click);
    $("#startButton").css('background-color', 'tan').unclick();
}

내 요소에서 이벤트를 제거하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

그런 것은 없습니다 unclick(). 어디서 얻었습니까?

Unbind를 호출하여 요소에서 개별 이벤트 핸들러를 제거 할 수 있습니다.

$("#startButton").unbind("click", process_click);

모든 핸들러를 제거하려고하거나 익명 기능을 핸들러로 사용한 경우 두 번째 인수를 생략 할 수 있습니다. unbind():

$("#startButton").unbind("click");

다른 팁

또는 클릭 기능을 사용한 직후에 클릭 기능을 풀고 싶은 상황이있을 수 있습니다.

$('#selector').click(function(event){
    alert(1);
    $(this).unbind(event);
});

undind는 당신의 친구입니다.

$("#startButton").unbind('click')

당신은 그것을 풀고 싶습니까? 나중에 다시 묶고 싶다면 어떻게해야합니까? 나는 동적 이벤트 처리 바인딩/undind를 좋아하지 않습니다. 코드의 다른 지점에서 호출 할 때 손에서 벗어나는 경향이 있기 때문입니다.

대체 옵션을 고려할 수 있습니다.

  • "비활성화 된"속성을 변경하십시오
  • "Process_Click"기능 내부에서 논리를 구현하십시오

보편적 인 솔루션이 아니라 2 센트입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top