JQuery在循环中绑定事件的问题详解
时间:2022-08-10 09:37:43|栏目:jquery|点击: 次
有个页面上需要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
下一篇:jQuery遍历节点元素方法介绍
本文标题:JQuery在循环中绑定事件的问题详解
本文地址:http://www.codeinn.net/misctech/210342.html






