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

字號(hào):


    有個(gè)頁面上需要N個(gè)DOM,每個(gè)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)在有個(gè)循環(huán),在頁面載入的時(shí)候需要給這每個(gè)元素增加一個(gè)onclick事件,很容易想到的寫法就是
    $(function(){
     for(var i=1; i<=3; i++){
      $('#username_'+i).onclick(function(){
       alert(i);
      });
     }
    });
    這么寫是錯(cuò)誤的。。。
    錯(cuò)誤的原因以及類似的錯(cuò)誤分析詳見這篇文章《深入理解JQuery循環(huán)綁定事件》
    然后改成下面的就對(duì)了
    $(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)中綁定事件的問題詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考