Java Reference
In-Depth Information
Nun hat aber auch eine anonyme Funktion ein Klammerpaar und Sie könnten auf die Idee
kommen, dass Sie dort Parameterwerte hineinschreiben wollen, also etwa so:
Listing 5.58■ Ein nicht funktionierender Ansatz
<script type="text/javascript">
var text="Viel Spaß bei so etwas";
document.getElementById("b1").onclick=function (text){
alert(text);
};
</script>
Man könnte auf die Idee kommen, dass man eine Variable deiniert und ihr einen Wert
zuweist und dann diesen Variablenbezeichner in die Klammern bei der anonymen Funktion
notiert. Nur wäre das ein substanzieller Gedankenfehler. Denn die anonyme Funktion wird
an dieser Stelle deklariert und der Bezeichner in den Klammern ist die Deklaration einer in
der anonymen Funktion lokal verfügbaren Variablen. Wenn man ein bisschen nachdenkt,
ist das klar. Wie wollen Sie also einen Wert an die Funktion übergeben, die über den Event-
handler ausgelöst wird? Bei der direkten Registrierung einer anonymen Funktion bei einem
Eventhandler gibt es keinen efektiven und einfachen Weg, während die Registrierung einer
Callback-Funktion das ganz einfach macht (wie wir auch gerade gesehen haben).
5.9■Aufruf einer JavaScript-Funktion
per Eventhandler
Wenn Sie ein Skript beziehungsweise eine Funktion programmiert haben, muss dieses Skript
oder die einzelne Funktion vom Browser ausgeführt werden, um zum Leben zu erwachen. Aber
wann? Zufällig? Oder in einer bestimmten Situation, die Sie als Programmierer festlegen?
Sicherlich das Letztere. Wir kennen bisher den Aufruf einer Funktion beim Laden der Webseite
oder bei einem Anwenderklick, wenn wir mit Inline-Referenzen arbeiten. Aber die denkbaren
Situationen gehen weiter. Wenn Sie JavaScript-Funktionen oder irgendwelche Objektmethoden
in einer (X)HTML-Seite aufrufen wollen, kann irgendein Ereignis diesen Aufruf auslösen.
Damit haben wir bereits den Schlüsselbegrif für diesen Abschnitt - Ereignis.
5.9.1■Was ist ein Ereignis?
Unter einem Ereignis können Sie in unserem Zusammenhang alles verstehen, was während
der Lebenszeit einer Webseite in einem Browser autreten kann. Das kann das Laden in den
Browser oder das Entfernen der Seite aus dem Browser - beispielsweise beim Laden einer
neuen Seite - sein. Aber auch Aktionen, die ein Anwender ausführt, etwa der Klick auf eine
Graik, Tastatureingaben durch den Anwender, das Abschicken von Formulardaten oder das
Überstreichen eines Teils der Webseite mit dem Mauszeiger. All diese Situationen sollten
sinnvollerweise dafür genutzt werden können, Skriptanweisungen aufzurufen. Daneben
gibt es automatische Vorgänge, die von einer Zeitspanne oder einem Zeitpunkt abhängen
 
Search WWH ::




Custom Search