JavaScript [gelöst] Greasemonkey: Neue JavaScript Funktion per onClick aufrufen

yoshi

Well-known member
ID: 131198
L
25 Juli 2006
561
23
Sorry für den blöden Titel, aber mir ist nichts besseres eingefallen, wie ich das Problem benennen soll ;-)

Ich bastle an einem Greasemonkey Script, was eine neue Textarea an eine Stelle einfügt und eine Funktion aufruft, immer wenn man etwas in der Textarea ändert.

Code:
updateForm = function() {
	//irgendwas machen
}
messagesTd.innerHTML += '<textarea id="myTextarea" onKeyUp="updateFrom()" style="width:95%; height:300px;"></textarea>';

Leider kommt der Fehler: updateForm is not defined.
Die Funktion scheint also nur für die Greasemonkey Verarbeitung gültig zu sein, nicht mehr im laufenden Betrieb der Seite. Wie kann ich die Funktion für den nachträglichen Aufruf aktivieren / freigeben / registrieren?
 
Zuletzt bearbeitet:
Hab's gelöst :)

Code:
messagesTd.innerHTML += '<textarea id="myTextarea" style="width:95%; height:300px;"></textarea>';

textarea = document.getElementById('myTextarea');
textarea.addEventListener("keyup", function() {
	//irgendwas machen
 }, true);
 
Zuletzt bearbeitet:
Warum es ursprünglich nicht ging hängt damit zusammen, dass Funktionen im Userscript nur solange gültig sind, wie das Script ausgeführt wird.
Wenn der Eventhandler onKeyUp die Callback-Funktion aufrufen will gibts die gar nicht mehr.

Genauer nachzulesen z. B. hier