我有以下需要关闭的代码:
var numItems = document.getElementsByClassName('l').length;
for (var i = 0; i < numItems; i++) {
document.getElementsByClassName('l')[i].onclick = function (e){
preview(this.href, i);
};
}
发生的情况是,每当单击一个项目时,预览总是相同的数字
我怀疑我需要做的是
function indexClosure(i) {
return function(e) {
preview(this.href, i);
}
}
并像这样分配 onclick:
document.getElementsByClassName('l')[i].onclick = indexClosure(i);
但是以后this
不会再引用我的链接了……这个问题是如何解决的?