wahsaga: Problem mit dynamischen Events

Beitrag lesen

hi,

Ich hab's gearade mal ausprobiert. Allerdings liefert er mit immer undefined. Was mache ich falsch?

i hat nach dem Durchlauf deiner Schleife den Wert 3 - und dein Wörter-Array enthält aber kein Element mit diesem Index mehr.

Wenn das "aktuelle" i aus der Schleife später in dem Kontext, in dem der onclick-Event ausgeführt wird, noch vorhanden sein soll, dann musst du entweder closures nutzen (zusammen mit molily als Author ein dankbare Stichwort für die Archivsuche), oder das aktuelle i irgendwie anders "sichern", so dass es nachher noch verfügbar ist - bspw., in dem du es an das Element als Attribut anhängst:

for (var i = 0; i < Buttons.length; i++){  
 alert("onclick für Button Nummer "+(i+1)+" wird eingefügt");  
 Buttons[i].onclick = function(){  
  alert(Woerter[this.i]);  
 }  
 Buttons[i].i = i;  
}

this zeigt ja innerhalb der Funktion auf das Element, auf dem der Event auslöst, und damit this.i auf das Attribut, dass wir dem Button in der Schleife anhängen.

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }