Bonjour, je cr�� gr�ce � Dom des noeuds(Examens) dynamiquement et �a marche mais lorsque j'attribue � ces noeuds un �v�nement onclick mon code ne marche plus. Voici le code de cr�ationle bout de code incrimin� c'est celui qui est cens� d�clench� un autre �v�nement lors du clic sur les div pr�c�demment cr��s, le voici
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 for(var i=0;i<nbExam;i++) { // création des nouveaux noeuds var nouveauLi = document.createElement('li'); var nouveauDiv = document.createElement('div'); var nouveauLabel = document.createTextNode("Examen "+(i+1)); // lui donne un attribut class appelé cliquable défini dans le css nouveauDiv.setAttribute("className", "cliquable");//pour IE nouveauDiv.setAttribute("class", "cliquable"); //pour ff /*Il n'est pas nécessaire d'ajouter une détection du navigateur ci dessus, le code non compris par chacun des navigateurs ne générant pas d'erreur.*/ //sur clic des div créés appel de la fonction de création des séries nouveauDiv.onclick = series('4');//ie nouveauDiv.setAttribute("onclick","javascript:series(4);");//ff // raccord des noeuds nouveauDiv.appendChild(nouveauLabel); nouveauLi.appendChild(nouveauDiv); var insertAvantMoi=document.getElementById('series'); var parentUl=insertAvantMoi.parentNode; parentUl.insertBefore(nouveauLi, insertAvantMoi); } }En effet cette appel d�clenche une erreur qui ne me permet m�me plus de cr�er les examens. La fonctions s�ries quand � elle est charg� lors du clic sur les examens d'effacer les series qu'ils y'avaient avant et d'en recr�er de nouvelles. Voici sont code
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 //sur clic des div créés appel de la fonction de création des séries nouveauDiv.onclick = series('4');//ie nouveauDiv.setAttribute("onclick","javascript:series(4);");//ffComment donc cr�er dynamiquement mon onclick
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 function series(nbSeries) { var noeud = document.getElementById('menu'); // j'efface les ancien noeud fils dont className=="ulnoeud" for(var i=0;i<noeud.childNodes.length;i++) { if((noeud.childNodes[i]).getAttribute("className")=="ulnoeud")//ie { noeud.removeChild(noeud.childNodes[i]); } else { if((noeud.childNodes[i]).getAttribute("class")=="ulnoeud")//ff { noeud.removeChild(noeud.childNodes[i]); } } } // recréation des nouvelle séries for(var i=0;i<nbSeries;i++) { // création des nouveaux noeuds var nouveauLi = document.createElement('li'); // lui donne un attribut class appelé cliquable défini dans le css nouveauLi.setAttribute("className", "ulnoeud");//pour IE nouveauDiv.setAttribute("class", "ulnoeud"); //pour ff /*Il n'est pas nécessaire d'ajouter une détection du navigateur ci dessus, le code non compris par chacun des navigateurs ne générant pas d'erreur.*/ var nouveauDiv = document.createElement('div'); var nouveauLabel = document.createTextNode("Series "+(i+1)); // raccord des noeuds nouveauDiv.appendChild(nouveauLabel); nouveauLi.appendChild(nouveauDiv); var insertAvantMoi=document.getElementById('images'); var parentUl=insertAvantMoi.parentNode; parentUl.insertBefore(nouveauLi, insertAvantMoi); } }
Merci
Partager