Struppi: Dynamisch onclick-Event zuweisen

Beitrag lesen

for (var i=0; i < buttonCounter; i++) {
var x = document.getElementsByName("button")[i];
x.onclick = function() { addTr(insertAfterTr[i]); }
}


>   
> Das Problem ist, dass ich der Funktion addTr() eine Variable als Parameter übergeben will und dieses Funktioniert leider nicht.  
  
Funktioniert nicht, ist in dem Fall falsch. Es funktioniert, aber nicht wie gewünscht, da i immer buttonCounter +1 ist. Du musst hier eine Hilfsfunktion einsetzen um das richtige i zu erhalten.  
  
~~~javascript
  
var createHandler = function(i) {  
   return function() {  
       addTr(insertAfterTr[i]);  
   };  
};  
for (var i=0; i < buttonCounter; i++) {  
 	var x = document.getElementsByName("button")[i];  
 	x.onclick = createHandler(i);}		  
}

Struppi.