2010-03-01 4 views
0

J'essaie de générer plusieurs divs qui doivent chacun avoir un gestionnaire onclick distinct. Cependant, lorsque je crée plusieurs éléments dans mon application, tous les éléments précédents ont le même événement onclick que le premier. Voici le code qui génère le code HTML basé sur un tableau ou des objets "Projet". Comment puis-je modifier ce code pour conserver tous les événements de clic individuels?Problème avec les événements click JavaScript générés dynamiquement

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); 
+0

Pourriez-vous s'il vous plaît ajouter le code pour Tracker afin que je puisse le tester correctement? –

Répondre

0

L'utilisation de jQuery vous fera économiser beaucoup de temps et de maux de tête. Je recommanderais de l'utiliser pour ce que vous essayez d'accomplir.

http://docs.jquery.com/Main_Page

+0

Malheureusement, je fais ce projet pour une classe, et je ne peux pas utiliser de frameworks. – Eric

0

J'ai besoin pour accomplir cette tâche sans l'utilisation de cadres. C'est pour une classe que je prends.

Questions connexes