JQuery在循環(huán)中綁定事件的問題詳解

字號:


    有個頁面上需要N個DOM,每個DOM里面的元素ID都要以數(shù)字結(jié)尾,比如說
    <input type="text" name="username" id="username_1" value="" />
    <input type="text" name="username" id="username_2" value="" />
    <input type="text" name="username" id="username_3" value="" />
    現(xiàn)在有個循環(huán),在頁面載入的時候需要給這每個元素增加一個onclick事件,很容易想到的寫法就是
    $(function(){
     for(var i=1; i<=3; i++){
      $('#username_'+i).onclick(function(){
       alert(i);
      });
     }
    });
    這么寫是錯誤的。。。
    錯誤的原因以及類似的錯誤分析詳見這篇文章《深入理解JQuery循環(huán)綁定事件》
    然后改成下面的就對了
    $(function(){
     for (var i=1; i<=3; i++){
      $("#username_"+i).bind("click", {index: i}, clickHandler);
     }
     function clickHandler(event) {
      var i= event.data.index;
      alert(i);
     }
    });
    以上這篇JQuery在循環(huán)中綁定事件的問題詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考