[jquery] click () 이벤트가 jquery에서 두 번 호출됩니다.

링크 요소를 설정하고 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)). 이렇게하면 이벤트가 버블 링되어 함수의 두 번째 실행으로 이어질 수 있습니다.