Я пытаюсь создать на лету элемент a
и установить его функцией щелчка с предупреждением. Я знаком с закрытием в JavaScript, поэтому я знаю, что не могу называть его напрямую, как doc.onclick=function() {alert(i);}
, так как он будет иметь значение последнего i
. поэтому я попытался вызвать функцию сразу, но сразу же всплывает предупреждение. как я могу решить эту проблему?Создайте элементы в цикле и используйте разные значения.
for (var i=0; i < 5; ++i) {
var doc = document.createElement("a");
doc.innerHTML = i;
doc.onclick = function(i) {alert(i);}(i);
document.body.appendChild(doc);
}
Я думаю, что вы пытаетесь эмулировать следующее: 'doc.onclick = function() {alert (this.innerHTML); }; 'или' doc.addEventListener ('click', function() {alert (this.innerHTML);}); ' – Phylogenesis