Salut,
J'essaie de créer un objet générant une liste non-ordonnée de liens via le DOM. Mon problème survient à la création de l'évènement du lien. Je souhaite lui attribuer un évènement "click" dans lequel une fonction est censée traiter des informations dans le contexte du lien.
Seulement, lorsqu'on clique, le contexte est en fait le dernier élément du "tableau associatif" (vous vous souvenez?).
Peut-on donc gérer les évènements d'une façon ressemblant à ce que j'ai fait ou non? Quelque soit la réponse une alternative serait bienvenue, car encore une fois, je sèche.
Le code exemple, cliquez sur n'importe quel lien "blu" s'affichera toujours :Merci par avance.
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title></head> <body> <ul id="liste"></ul> <script type="text/javascript"> var o = function() { var b = { "bla": { "p1": "va1", "p2": "va2" }, "ble": { "p1": "ve1", "p2": "ve2" }, "bli": { "p1": "vi1", "p2": "vi2" }, "blo": { "p1": "vo1", "p2": "vo2" }, "blu": { "p1": "vu1", "p2": "vu2" } }; this.afficherListe = function(me) { for (var i in b) { if (typeof (b[i]) == "object") { var ref = document.createTextNode(i); var a = document.createElement("a"); var li = document.createElement("li"); a.setAttribute("href", ""); a.onclick = function() { alert(i); return false; } a.appendChild(ref); li.appendChild(a); document.getElementById("liste").appendChild(li); } } } this.alert = function() { alert(""); } } var t = new o(); t.afficherListe(t); </script> </body> </html>
Partager