Shaguar: onClick Event

Eine kleine Frage zum onClick Event.

Erstmal hallo,
Ich erstelle per Javscript ein IMG Element mit test.createElement('img'); und dann würde ich gerne mit test.onclick ein Ereignis aufrufen und zwar in meinem Fall eine Funktion.
Das Ganze würde ich dann folgendermaßen machen :
test.onclick = function(){ testfunktion(var); };
Das Problem hierbei ist nun das ich für die Variable var keine Variable einfügen kann sondern nur einen festen Wert.
Sprich wenn ich mehrere dieser img Elemente erstelle und nebenher eine Variable count hochzählen lassen will und jedesmal den aktuellen Wert von count der funktion testfunktion mit dem onlick Ereignis übergeben will, dann funktioniert das nicht.
D.h. wenn ich das schreibe :
test.onclick = function(){ testfunktion(count); };
dann bekomme ich immer den Funktionsaufruf mit dem aktuellen Wert von count.
Nochmal deutlicher :
ich erstelle 9 Img elemente und ich hätte gerne das bei jedem img Element folgendes onClick Ereignis aufgerufen wird:
test.onclick = function(){ testfunktion(1); };
test.onclick = function(){ testfunktion(2); };
test.onclick = function(){ testfunktion(3); };
test.onclick = function(){ testfunktion(4); };
.
.
und nicht so :
test.onclick = function(){ testfunktion(9); };
test.onclick = function(){ testfunktion(9); };
test.onclick = function(){ testfunktion(9); };

so hoffe das war einigermaßen verständlich.

  1. Das Ganze würde ich dann folgendermaßen machen :
    test.onclick = function(){ testfunktion(var); };
    Das Problem hierbei ist nun das ich für die Variable var keine Variable einfügen kann sondern nur einen festen Wert.
    Sprich wenn ich mehrere dieser img Elemente erstelle und nebenher eine Variable count hochzählen lassen will und jedesmal den aktuellen Wert von count der funktion testfunktion mit dem onlick Ereignis übergeben will, dann funktioniert das nicht.
    D.h. wenn ich das schreibe :
    test.onclick = function(){ testfunktion(count); };
    dann bekomme ich immer den Funktionsaufruf mit dem aktuellen Wert von count.

    Es gibt zwei Lösungen, entweder du erzeugst die Funktion mit new Function() oder du gibst den Wert dem Objekt als Eigenschaft mit und greifst in der Funktion darauf zurück.

    test.count = count;  
    test.onclick = function(){ testfunktion(this.count); };  
    
    

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Ja funktioniert, Dankeschön.