jquery綁定click事件出現點擊一次執行兩次的問題


第一種:事件點擊觸發兩次

$(".button").click(function(e){
    e.stopPropagation();   
  //表示阻止向父元素冒泡;阻止默認行為,可以用 event.isDefaultPrevented() 來確定preventDefault是否被調用過了 e.preventDefault();
  //阻止元素發生默認的行為(例如,當點擊提交按鈕時阻止對表單的提交或者a標簽);
  阻止事件冒泡,事件是可以冒泡的,為防止事件冒泡到DOM樹上,不觸發任何前輩元素上的事件處理函數,
  可以用 event.isPropagationStopped()來確定stopPropagation是否被調用過了
});

 第二種:當ajax時成功的觸發事件,如果多次ajax就會有多個事件存放,然后你點擊時,就會觸發你點擊的ajax的數目的事件。解決方法就是在ajax成功后先取消事件($('.button').unbind();),再執行事件。

$.ajax({
   type:
"POST", url:"/index.php", data:$('#hform_main').serialize(), dataType:'json', cache:false, error: function(request) { alert("Please refresh the page and try again."); }, success: function(data) { if(data.over){ $(".button").unbind(); $(".button").click(function(){ alert('alert over'); }); } });

有事您Q我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM