有個頁面上需要N個DOM,每個DOM里面的元素ID都要以數字結尾,比如說
<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="" />
現在有個循環,在頁面載入的時候需要給這每個元素增加一個onclick事件,很容易想到的寫法就是
$(function(){ for(var i=1; i<=3; i++){ $('#username_'+i).onclick(function(){ alert(i); }); }});
這么寫是錯誤的。。。
錯誤的原因以及類似的錯誤分析詳見這篇文章《深入理解JQuery循環綁定事件》
然后改成下面的就對了
$(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在循環中綁定事件的問題詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答