JQuery在循环中绑定事件的问题详解
有个页面上需要N个DOM,每个DOM里面的元素ID都要以数字结尾,比如说
<inputtype="text"name="username"id="username_1"value=""/> <inputtype="text"name="username"id="username_2"value=""/> <inputtype="text"name="username"id="username_3"value=""/>
现在有个循环,在页面载入的时候需要给这每个元素增加一个onclick事件,很容易想到的写法就是
$(function(){ for(vari=1;i<=3;i++){ $('#username_'+i).onclick(function(){ alert(i); }); } });
这么写是错误的。。。
错误的原因以及类似的错误分析详见这篇文章《深入理解JQuery循环绑定事件》
然后改成下面的就对了
$(function(){ for(vari=1;i<=3;i++){ $("#username_"+i).bind("click",{index:i},clickHandler); } functionclickHandler(event){ vari=event.data.index; alert(i); } });
以上这篇JQuery在循环中绑定事件的问题详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。