Я создаю флажки с помощью JavaScript, добавляя к ним слушателя onchange
и добавляя их в div, используя цикл. Тем не менее, только последний флажок имеет зарегистрированный прослушиватель событий.Почему прослушиватель событий регистрируется только на последнем элементе, созданном в цикле for?
Почему это происходит?
var div = document.getElementById("mydiv");
for (var i = 0; i < 5; i++) {
div.innerHTML += ("<br>" + i);
var input = document.createElement("input");
input.type = "checkbox";
input.onchange = function() {
alert("foo");
};
div.appendChild(input);
}
<div id="mydiv"></div>