ingo b: eval wird nur einmal ausgeführt?

Beitrag lesen

Hallo,

ich habe für meinen Informatik-Unterricht eine "Entwicklungsumgebung" für JavaScript programiert. Dabei wird in einer Textarea Code eingegeben, der dann per eval() innerhalb eines try-catch-Statements ausgeführt wird.

Zwei Fragen habe ich nun noch:

1. Ich würde gerne beim Benutzen der TAB-Taste nicht ins nächste Feld springen sondern den Cursor/Zeile einrücken. Kann man das irgenwie machen?

2. Ein einfaches Programm würde bei mir so aussehen:
//-------------------------------------------
new Knopf(10,10,"Drück mich","sagHallo()");

function sagHallo() {
    alert("Halloooooo ;-)");
}

sagHallo()
//-------------------------------------------

Es wird auch alles richtig gemacht, die Funktion sagHallo() wird ausführen einmal gemacht. Nur der Klick auf den Button (bei mir Knopf) geht nicht, da die Funktion "sagHallo()" nicht vorhanden ist. Ich nehme daher an, dass der js-Code beim eval nicht irgendwie gemerkt wird. Hat dafür jemand eine brauchbare Lösung?

Zum Testen:
http://ingo-bartling.de/info/klasse7/html/js_logo/codingarea_allg.html