错误的写法:
var show= function(str) {
alert(str);
}
..............
for (var i = 0; i < data.length; i++) {
obj.attachEvent("onclick", function() {
show(data[i]);
});
}
这种写法得到的结果是,添加的所有新行的onclick事件调用时,总是alert出来data最后一个索引]的值,不能正确地把循环中的每一个索引相应的传给每次添加的行
正确的写法则应如下:
...........
for (var i = 0; i < data.length; i++) {
obj.onClick=function (str) {
return function(){
alert(str);
};
}(data[i]);
}
}