이벤트 처리 jQuery unc ulcick () 및 Unbind () 이벤트?
-
02-07-2019 - |
문제
클릭 이벤트를 버튼 요소에 첨부 한 다음 나중에 제거하고 싶지만 예상대로 작동하기 위해 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 센트입니다.
제휴하지 않습니다 StackOverflow