Ralf: Code dynamisch einem Eventhandler zuweisen

Beitrag lesen

Hallo!

Ich habe hier im Forum schon einige Lösungen gefunden, wie man einem Eventhandler (z.B. onclick) einen Funktionsaufruf zuweist. Aber leider ist mir das alles noch zu statisch (oder ich habe die Lösung nicht gefunden).

Mein Problem: Ich möchte beliebigen Javascript Code, der z.B. einem Input-Feld entnommen wird, einem Eventhandler zuweisen. Eigentlich exakt so, wie das auch beim onClick-Attribut mit HTML möglich ist.

Wenn also jemand in meiner Seite eingibt: alert('click');

Dann soll genau das ausgeführt werden, wenn der entsprechende Handler in Aktion tritt. Folgendes funktioniert:

  
fname = "alert";  
fwert = "click";  
meinobjekt.onclick = function () {window[fname](fwert)};  

Aber das wäre schon zu statisch, da ich x-beliebigen Code ausführen möchte (auch mit dem Risiko von Fehlern).

Kann man nicht dem onclick Objekt den Funktionscode variabel zuweisen? Ich kann ihn doch auch mit meinobjekt.onclick.toString() auslesen ...

Ralf