У меня есть следующий код, который нуждается в закрытии:
var numItems = document.getElementsByClassName('l').length;
for (var i = 0; i < numItems; i++) {
document.getElementsByClassName('l')[i].onclick = function (e){
preview(this.href, i);
};
}
Случается так, что всякий раз, когда нажимается какой-либо элемент, всегда отображается один и тот же номер для i
Я подозреваючто мне нужно сделать, это
function indexClosure(i) {
return function(e) {
preview(this.href, i);
}
}
и назначить onclick как это:
document.getElementsByClassName('l')[i].onclick = indexClosure(i);
Но тогда this
больше не будет ссылаться на мою ссылку ... как эта проблемарешена?