728x90
반응형
질문 : jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?
input type="image"
있습니다. 이것은 Microsoft Excel의 셀 노트처럼 작동합니다. 사람이있는 텍스트 상자에 숫자를 입력하면 input-image
I 설정,과에 대한 이벤트 핸들러 짝을 input-image
. 그런 다음 사용자가 image
클릭하면 데이터에 메모를 추가하는 작은 팝업이 표시됩니다.
내 문제는 사용자가 텍스트 상자에 0을 입력 할 때 input-image
의 이벤트 처리기를 비활성화해야한다는 것입니다. 다음을 시도했지만 아무 소용이 없습니다.
$('#myimage').click(function { return false; });
답변
jQuery 1.7 이상에서는 이벤트 API가 업데이트되었으며 .bind()
/ .unbind()
는 이전 버전과의 호환성을 위해 계속 사용할 수 있지만 선호되는 방법은 on () / off () 함수를 사용하는 것입니다. 이제 아래는,
$('#myimage').click(function() { return false; }); // Adds another click event
$('#myimage').off('click');
$('#myimage').on('click.mynamespace', function() { /* Do stuff */ });
$('#myimage').off('click.mynamespace');
예제 코드에서는 이전 클릭 이벤트를 재정의하지 않고 단순히 이미지에 다른 클릭 이벤트를 추가하는 것입니다.
$('#myimage').click(function() { return false; }); // Adds another click event
그러면 두 클릭 이벤트가 모두 시작됩니다.
사람들이 말했듯이 unbind를 사용하여 모든 클릭 이벤트를 제거 할 수 있습니다.
$('#myimage').unbind('click');
단일 이벤트를 추가 한 다음 제거하려면 (추가되었을 수있는 다른 이벤트를 제거하지 않고) 이벤트 네임 스페이스를 사용할 수 있습니다.
$('#myimage').bind('click.mynamespace', function() { /* Do stuff */ });
이벤트 만 제거하려면 :
$('#myimage').unbind('click.mynamespace');
출처 : https://stackoverflow.com/questions/209029/best-way-to-remove-an-event-handler-in-jquery
728x90
반응형
'프로그래밍 언어 > jQuery, ajax' 카테고리의 다른 글
여러 요소에 대한 jQuery 동일한 클릭 이벤트 (0) | 2021.10.14 |
---|---|
jQuery를 사용하여 이미지 소스 변경 (0) | 2021.10.13 |
jQuery로 엔터키를 통해 Form을 제출하는 방법 (0) | 2021.10.13 |
jQuery로 라디오 버튼을 확인하는 방법 (0) | 2021.10.12 |
jQuery.click () vs onClick (0) | 2021.10.12 |