Я пытаюсь сгенерировать несколько div, каждый из которых должен иметь отдельный обработчик onclick. Однако, когда я создаю несколько элементов в моем приложении, все предыдущие элементы имеют то же событие onclick, что и первое. Ниже приведен код, который генерирует HTML на основе массива или объектов «Проект». Как я могу изменить этот код, чтобы сохранить все отдельные события кликов?
var t1 = new Tracker(function(projects) {
var tempElem;
projectList.innerHTML = "";
for(i in projects) {
tempElem = document.createElement("div");
tempElem.setAttribute("id", projects[i].id);
tempElem.setAttribute("class", "project");
tempElem.innerHTML = projects[i].name;
projectList.appendChild(tempElem);
document.getElementById(projects[i].id).onclick = function() {
t1.setActiveProject(t1.getProjectById(projects[i].id)); };
}
}, setActiveProject);