我有这个脚本:
var MyClass = {
MyArray: new Array(0, 1, 2, 3, 4),
MyFunc1: function() {
var i = 0;
for (i = MyClass.MyArray.length - 1; i>=0; i--) {
var cen = document.getElementById("cen_" + i); // It is an img element
cen.src = "col.png";
cen.className = "cen_act";
cen.onclick = function() { MyClass.MyFunc1(i); };
} else {
cen.src = "no.png";
cen.className = "cen";
cen.onclick = null;
}
}
},
MyFunc2: function(id) {
alert(id);
}
}
我的问题是,在这一行:cen.onclick = function() { MyClass.MyFunc1(i); };
发送到的参数MyFunc2
始终是-1。该MyFunc1
函数应该创建四个图像,每个图像都有一个onclick事件。当您单击每个图像时,MyFunc2 函数应显示相应的 i值。看起来i值不是为每个创建的事件和图像元素“保存”的,而只是它的“指针”。
谢谢!