링크 요소를 설정하고 jquery에서 클릭 이벤트를 호출했지만 클릭 이벤트가 두 번 호출됩니다. 아래 jquery 코드를 참조하십시오.
$("#link_button")
.button()
.click(function () {
$("#attachmentForm").slideToggle("fast");
});
조언하십시오.
감사.
답변
HTML 페이지에 실수로 스크립트를 두 번 포함하지 않았는지 확인하고 확인하십시오.
답변
클릭하기 전에 바인딩을 해제하십시오.
$("#link_button").unbind('click');
$("#link_button")
.button()
.click(function () {
$("#attachmentForm").slideToggle("fast");
});
답변
코드에 jquery 스크립트가 두 번 포함되었음을 의미합니다. 그러나 이것을 시도하십시오 :
$("#btn").unbind("click").click(function(){
//your code
});
답변
나는 시도했다
e.stopImmediatePropagation()
; 이것은 나를 위해 일하는 것 같습니다.
답변
제 경우에는 아래 스크립트를 사용하여 문제를 극복했습니다.
$('#id').off().on('click',function(){
//...
});
off()
에 바인딩 된 모든 이벤트의 바인딩을 해제합니다 #id
. click
이벤트 만 바인딩 해제하려면 을 사용하십시오 off('click')
.
답변
.on ()을 호출하기 직전에 .off ()를 호출하기 만하면됩니다.
이렇게하면 모든 이벤트 핸들러가 제거됩니다.
$(element).off().on('click', function() {
// function body
});
등록 된 ‘클릭’이벤트 핸들러 만 제거하려면 :
$(element).off('click').on('click', function() {
// function body
});
답변
두 번의 클릭 문제에 대한 다소 일반적인 해결책은
e.stopPropagation()
함수의 끝에서 (사용한다고 가정 function(e)
). 이렇게하면 이벤트가 버블 링되어 함수의 두 번째 실행으로 이어질 수 있습니다.