반응형
Jquery에서 모든 Click 이벤트 핸들러를 제거하는 방법
문제가 있습니다. 기본적으로 사용자가 페이지에서 '편집'링크를 클릭하면 다음 Jquery 코드가 실행됩니다.
$("#saveBtn").click(function () {
saveQuestion(id);
});
이렇게하면 저장 버튼의 onClick 이벤트가 saveQuestion()
메소드를 호출 하고 '편집'링크를 클릭 한 질문의 ID를 전달합니다.
그러나 동일한 세션에서 사용자가 2 개의 질문에 대한 편집을 클릭 한 경우 이전 click
이벤트 핸들러 를 덮어 쓰는 대신 2 개의 이벤트 핸들러가 실행됩니다. 하나는 호출 saveQuestion(1)
하고 다른 하나는 호출 할 수 있습니다 saveQuestion(2)
. 이 1 질문을 수행하면 다른 질문을 덮어 씁니다.
click
버튼에 할당 된 이전 이벤트를 모두 제거하는 방법이 있습니까?
off () 를 사용 하여 다음과 같이 이벤트를 제거합니다.
$("#saveBtn").off("click");
그러나이 요소에 바인딩 된 모든 클릭 이벤트 가 제거됩니다 . SaveQuestion이있는 함수가 유일한 이벤트 바인딩 인 경우 위의 작업이 수행됩니다. 그렇지 않으면 다음을 수행하십시오.
$("#saveBtn").off("click").click(function() { saveQuestion(id); });
버튼에 할당 된 이전 클릭 이벤트를 모두 제거하는 방법이 있습니까?
$('#saveBtn').unbind('click').click(function(){saveQuestion(id)});
$('#saveBtn').off('click').click(function(){saveQuestion(id)});
당신이 사용한다면 ...
$(function(){
function myFunc() {
// ... do something ...
};
$('#saveBtn').click(myFunc);
});
... 나중에 바인딩을 해제하는 것이 더 쉬울 것입니다.
$('#saveBtn').off('click').on('click',function(){
saveQuestion(id)
});
참고 URL : https://stackoverflow.com/questions/825112/how-to-remove-all-click-event-handlers-in-jquery
반응형
'development' 카테고리의 다른 글
Eclipse : log4j.xml에서 log4j.dtd 참조 (0) | 2020.07.24 |
---|---|
순진하고 인식하는 datetime.now () <= challenge.datetime_end를 비교할 수 없습니다 (0) | 2020.07.24 |
과도한 요소를 제거하는 고정 크기의 큐가 있습니까? (0) | 2020.07.24 |
angular.js ng-model에 json을로드하는 방법은 무엇입니까? (0) | 2020.07.24 |
NameError : 전역 이름 'unicode'가 정의되지 않았습니다-Python 3 (0) | 2020.07.24 |