jQuery防止重復(fù)綁定事件的解決方法

字號:


    這篇文章主要介紹了jQuery防止重復(fù)綁定事件的解決方法,結(jié)合實例形式分析了jQuery的重復(fù)綁定問題與相應(yīng)的解決方法,需要的朋友可以參考下
    本文實例分析了jQuery防止重復(fù)綁定事件的解決方法。分享給大家供大家參考,具體如下:
    一、問題:
    今天發(fā)現(xiàn)jQuery一個對象的事件可以重復(fù)綁定多次,當事件觸發(fā)的時候會引起代碼多遍執(zhí)行。
    下面是一個click事件被重復(fù)綁定的示例:
    function reg_button_click(){
      $("#button).click(function(){
        alert("button click");
      });
    }
    $(document).ready(function(){
      #重復(fù)注冊3次
      reg_button_click();
      reg_button_click();
      reg_button_click();
      #觸發(fā)的時候 出現(xiàn)3個alert
      $('#button').click();
    });
    二、解決方法:
    對于需要重復(fù)綁定的場景,再事件注冊時候考慮用先unbind 再bind的方法;或者先off 再on
    function reg_button_click(){
      $("#button).unbind('click').bind('click',(function(){
        alert("button click");
      });
    }
    $(document).ready(function(){
      #重復(fù)注冊3次
      reg_button_click();
      reg_button_click();
      reg_button_click();
      #觸發(fā)的時候 出現(xiàn)3個alert
      $('#button').click();
    });
    希望本文所述對大家jQuery程序設(shè)計有所幫助。