Hallo,
Ich möchte für ein Input-Textfeld den JS-Handler onKeyUp definieren, aber aus bestimmten Gründen NICHT schon gleich im HTML hinschreiben.
FireFox, Opera und Netscape akzeptieren
element.addAttribute('onkeyUp', 'javascript:alert()');
^wozu steht hier der Marker "javascript:"?
FireFox führt ein alert() ohne Inhalt aus? Normalerweise git es da ein
Fehler: uncaught exception: [Exception... "Not enough arguments [nsIDOMWindowInternal.alert]"
IE will nicht, es passiert einfach garnichts.
Das ist bekannt. IE hat ein Problem mit .addAttribute, wenn der Attributknoten speziellen Inhalt, z.B. %SCRIPT% hat.
Ich habe es auch schon mit element.onKeyUp = 'javascript:alert()'; probiert.
1. Wieder die Frage: wozu steht hier der Marker "javascript:"?
2. Das element.onkeyup ist hier JavaScript. In JavaScript ist Groß- bzw. Kleinschreibung bei Eventhandlern _nicht_ gleichgültig. Der Eventhandler heißt onkeyup.
3. Der Eventhandler onkeyup erwartet in JavaScript die Übergabe einer Funktion. Das kann auch eine namelose (anonymous) Funktion sein.
element.onkeyup = function() { alert("Hallo"); };
viele Grüße
Axel