HTML-Dateien selbst erstellen
Dokumentation: JavaScript
JavaScript Sprachelemente

Event-Handler


 Event-Handler verwenden
 Liste der Event-Handler in JavaScript


Event-Handler verwenden

Beispiel
Anzeigebeispiel: So sieht's aus

"Event" bedeutet "Ereignis". Event-Handler sind die Schnittstelle zwischen HTML-Datei und JavaScript-Code. Event-Handler erlauben Ihnen, in JavaScript auf Anwenderereignisse wie Mausklicks, Fensterwechsel usw. zu reagieren, d.h. JavaScript-Code auszuführen, wenn so ein Ereignis stattfindet. Mit Hilfe von Event-Handlern ist es beispielsweise möglich, einen Befehl wie "Zeige in der Statuszeile Text X an, wenn der Anwender mit der Maus über den Verweis fährt" zu realisieren.

Beispiel:

<html>
<head>
<title>Datum und Zeit</title>
<script language="JavaScript">
<!--
function CheckInput()
{
 var Fehler = 0;
 if(document.Umfrage.Absender.value == "")
  {
   Fehler = 1;
   alert("Bitte geben Sie Ihren Namen ein");
   document.Umfrage.Absender.focus();
  }
 if(document.Umfrage.eMail.value == "")
  {
   Fehler = 1;
   alert("Bitte geben Sie Ihren E-Mail-Adresse ein");
   document.Umfrage.eMail.focus();
  }
 if(document.Umfrage.Text.value == "")
  {
   Fehler = 1;
   alert("Bitte geben Sie einen Kommentar ein");
   document.Umfrage.Text.focus();
  }
 if(Fehler  == 0)
   document.Umfrage.submit();
}
// -->
</script>
</head>
<body>
<form action="mailto:s.muenz@euromail.com" 
name="Umfrage" method=post enctype="text/plain">
Ihr Name:<br>
<input type=text name="Absender" size=50 
onFocus="window.status='Bitte geben Sie Ihren Namen ein';return true;"><p>
Ihre E-Mail-Adresse:<br>
<input type=text size=50 name="eMail" 
onFocus="window.status='Bitte geben Sie Ihre E-Mail-Adresse ein';return true;"><p>
Was ist "Telepolis"?:<br>
<textarea cols=50 rows=10 name="Text" 
onFocus="window.status='Bitte geben Sie Ihre Antwort ein';return true;"></textarea><p>
<input type=submit value="Absenden" onClick="CheckInput()">
<input type=reset value="Abbrechen">
</form>
</body>
</html>

Erläuterung:

Das Beispiel zeigt eine komplette HTML-Datei. Die Datei enthält ein  Formular, dessen Eingaben überprüft werden sollen, bevor das Formular abgeschickt wird. Während der Eingabe werden in der Statuszeile des WWW-Browsers außerdem erläuternde Aufforderungen zu den jeweils aktiven Feldern angezeigt. Die erläuternden Anzeigen in der Statuszeile werden mit Hilfe des Event-Handlers onFocus= realisiert (onFocus = beim Aktivieren). Dazu wird der Eigenschaft status des  Objekts window der gewünschte Text zugewiesen. Die zusätzliche Anweisung return true; ist bei Textanzeigen in der Statuszeile des Browsers immer erforderlich.

Beim Absenden der Formulardaten soll werden, daß in jedem der drei Eingabefelder des Formulars tatsächlich etwas eingegeben wurde. Dazu wird beim Absende-Button mit Hilfe des Event-Handlers onClick= die JavaScript- Funktion CheckInput() aufgerufen (on Click = beim Anklicken). Die Funktion CheckInput() wird nur dann aufgerufen, wenn der Anwender auf den Absende-Button klickt. Sie wird zuvor in einem  JavaScript-Bereich definiert. Die Funktion überprüft die drei Eingabefelder auf Inhalt. Wenn überall etwas eingegeben wurde, schickt die Funktion das Formular ab (mit document.Umfrage.submit();). Andernfalls werden entsprechende Meldungen am Bildschirm ausgegeben, und der Anwender wird aufgefordert, das Formular richtig auszufüllen.

Event-Handler notieren Sie innerhalb von HTML-Tags wie eine zusätzliche Angabe. Welche Event-Handler Sie in welchen HTML-Tags verwenden dürfen, entnehmen Sie der   Liste der Event-Handler. Hinter dem Namen des Event-Handler folgt ein Istgleichzeichen, und dahinter, in Anführungszeichen, eine oder mehrere JavaScript- Anweisungen. Es ist zwar erlaubt, mehrere Anweisungen innerhalb der Angabe zu notieren, aber im Normalfall sollte an dieser Stelle nur der  Aufruf einer Funktion stehen. In diesem Fall darf auch das abschließende Strichpunktzeichen ; entfallen.

Liste der Event-Handler in JavaScript

Der folgende Abschnitt listet die derzeit gebräuchlichen Event-Handler auf. Die drei Pünktchen, z.B. bei onBlur="..." bedeuten, daß an der betreffenden Stelle JavaScript-Code notiert werden muß, wie   weiter oben beschrieben.

Eine Besonderheit unter den Event-Handlern stellt die Schreibweise <a href="javascript:...">...</a> dar. Damit können Sie bei einem Anklicken eines Verweises JavaScript-Code ausführen. Dieser spezielle Event-Handler wird am Ende der folgenden Liste beschrieben.

 onAbort="..." (beim Abbrechen)
 onBlur="..." (beim Verlassen)
 onChange="..." (bei geändertem Inhalt)
 onClick="..." (beim Anklicken)
 onError="..." (im Fehlerfall)
 onFocus="..." (beim Positionieren)
 onLoad="..." (beim Laden)
 onMouseout="..." (beim Nicht-mehr-Darüberfahren mit der Maus)
 onMouseover="..." beim Darüberfahren mit der Maus
 onReset="..." (beim Löschen von Formulareingaben)
 onSelect="..." (bei getroffener Auswahl)
 onSubmit="..." (beim Absenden von Formulardaten)
 onUnload="..." (beim Verlassen einer Datei)
 javascript:="..." (beim Anklicken eines Verweises)

onAbort="..."

Bedeutung Erlaubt
"beim Abbrechen" des Ladevorgangs einer Grafik. In  Grafiken:
<img src="datei.gif" onAbort="...">

onAbort= ist für Hinweise gedacht, wenn der Anwender eine WWW-Seite beenden will, auf der noch nicht alle Grafiken geladen sind. Mit <img src="logo.gif" onAbort="alert('Das Logo ist noch nicht geladen')"> können Sie beispielsweise ein Meldungsfenster für diesen Fall ausgeben.

onBlur="..."

Bedeutung Erlaubt
"beim Verlassen" des Elements. In  einzeiligen Eingabefeldern:
<input type=text onBlur="...">

In  mehrzeiligen Eingabefeldern:
<textarea onBlur=..."></textarea>

In  Auswahllisten:
<select onBlur="..."></select>

onBlur= ist z.B. zum Überprüfen von Formulareingaben geeignet. Der mit onBlur verknüpfte JavaScript-Code wird jedoch nur dann ausgeführt, wenn der Anwender in einem der genannten Formluarelemente etwas eingegeben bzw. ausgewählt hat.

onChange="..."

Bedeutung Erlaubt
"Änderungen" im Element
nach Verlassen des Elements.
In  einzeiligen Eingabefeldern:
<input type=text onChange="...">

In  mehrzeiligen Eingabefeldern:
<textarea onChange=..."></textarea>

In  Auswahllisten:
<select onChange="..."></select>

onChange= eignet sich z.B. zum Überprüfen von Formulareingaben. Mit <input type=text name="Alter" onChange="PruefeObZahl(this.form.Alter.value)"> können Sie beispielsweise nach erfolgter Eingabe in einem Feld zur Altersangabe prüfen, ob in dem Feld eine Zahl eingegeben wurde. Voraussetzug ist dabei, daß Sie in einem  JavaScript-Bereich der gleichen Datei eine  Funktion PruefeObZahl(Wert) definieren, die den ihr übergebenen Wert daraufhin prüft, ob die übergebenen Zeichen allesamt Ziffern sind. Für solche Überprüfungen können Sie Eigenschaften und Methoden des Objekts  string verwenden.

onClick="..."

Bedeutung Erlaubt
"beim Anklicken" des Elements In  frei definierbaren Buttons:
<input type=button onClick="...">
In  Radiobuttons:
<input type=radio onClick="...">
In  Checkbuttons:
<input type=checkbox onClick="...">
In  Buttons zum Absenden oder Abbrechen:
<input type=submit onClick="...">
<input type=reset onClick="...">

onClick= eignet sich z.B. dazu, um bei einem Anklicken eines frei definierten Buttons einen Verweis auszuführen. So können Sie beispielsweise mit <form><input type=button value="Zurueck" onClick="history.back()"></form> einen Zurück-Button definieren, der die gleiche Bedeutung hat wie der Back-Button des WWW-Browsers.

Zum Handling beim Anklicken von Verweisen gibt es den speziellen Event-Handler  javascript:.

onError="..."

Bedeutung Erlaubt
"im Fehlerfall" beim Laden von Grafiken oder bei JavaScript-Fehlern. In  Grafiken:
<img onError="...">

onError= eignet sich zum Abfangen von Fehlermeldungen und zum Ersetzen solcher Meldungen durch eigene. Beachten Sie jedoch, daß dadurch nicht die Fehler selbst beseitigt werden!

onError= ist vor allem zum Handling von Fehlern beim Laden von Grafiken gedacht. Wenn Sie mit onError= eine eigene  Funktion in einem  JavaScript-Bereich aufrufen, müssen Sie am Anfang dieses JavaScript-Bereichs - vor der Funktion - immer die Anweisung window.onerror=null notieren, sonst kann es zum Programmabsturz kommen.

Wenn Sie am Anfang eines JavaScript-Bereichs window.onerror=null notieren und der Event-Handler sonst nirgendwo in einem HTML-Tag vorkommt, werden innerhalb dieses Bereichs alle JavaScript-Fehlermeldungen unterdrückt, sofern der WWW-Browser beim Ausführen von JavaScript-Code dieses Bereichs Fehler findet.

onFocus="..."

Bedeutung Erlaubt
"Beim Positionieren des Cursors" in ein Element. In  einzeiligen Eingabefeldern:
<input type=text onFocus="...">

In  mehrzeiligen Eingabefeldern:
<textarea onFocus=..."></textarea>

In  Auswahllisten:
<select onFocus="..."></select>

onFocus= eignet sich z.B. zum Auskommentieren von Eingabefeldern, in die der Anwender gerade den Cursor setzt. Ein Anwendungsbeispiel dafür finden Sie  weiter oben.

onLoad="..."

Bedeutung Erlaubt
"Beim Laden" von WWW-Seiten. Im  einleitenden <body>-Tag:
<body onLoad="...">
Im  einleitenden <frameset>-Tag:
<frameset onLoad="...">

onLoad= eignet sich dazu, um beim Laden einer HTML-Datei bestimmte JavaScript- Funktionen auszuführen. So können Sie beispielsweise eine Funktion aufrufen, die mit dem  Objekt navigator den Namen und die Version des WWW-Browsers des Anwenders ermittelt. Davon abhängig könnte die Funktion beispielsweise mit window.location.href entweder eine Datei mit oder eine ohne ActiveX-Elemente aufrufen.

Beachten Sie, daß onLoad= nur sinnvoll ist, um Funktionen aufzurufen. JavaScript-Code, der in einem  JavaScript-Bereich außerhalb definierter Funktionen steht, wird beim Laden der HTML-Datei automatisch ausgeführt.

onMouseout="..."

Bedeutung Erlaubt
"Beim Verlassen eines verweis-sensitiven Bereichs". Bei  Verweisen:
<a href="..." onMouseout="...">

onMouseOut= ist in Verbindung mit  OnMouseover= sinnvoll. So können Sie beispielsweite mit <a href="seite2.htm" onMouseover="window.status='Jetzt kannst Du auf einen Verweis klicken';return true;" onMouseout="window.status='OK, Du musst nicht darauf klicken...';return true;">Hier geht's zur zweiten Seite</a> die Statuszeile des WWW-Browsers nutzen und dort Meldungen ausgeben, abhängig davon, ob der Anwender mit der Maus über einen Verweis fährt oder die Maus wieder von dem Verweis wegbewegt, ohne ihn angeklickt zu haben.

onMouseover="..."

Bedeutung Erlaubt
"Wenn der Mauszeiger über einem verweis-sensitiven Bereich ist". Bei  Verweisen:
<a href="..." onMouseover="...">

onMouseOver= ist in Verbindung mit  OnMouseout= sinnvoll. So können Sie beispielsweite mit <a href="seite2.htm" onMouseover="window.status='Jetzt kannst Du auf einen Verweis klicken';return true;" onMouseout="window.status='OK, Du musst nicht darauf klicken...';return true;">Hier geht's zur zweiten Seite</a> die Statuszeile des WWW-Browsers nutzen und dort Meldungen ausgeben, abhängig davon, ob der Anwender mit der Maus über einen Verweis fährt oder die Maus wieder von dem Verweis wegbewegt, ohne ihn angeklickt zu haben.

onReset="..."

Bedeutung Erlaubt
"Beim Löschen aller Eingaben in einem Formular". Beim  Definieren von Formularen:
<form action="..." onReset="...">

onReset= eignet sich dazu, um JavaScript-Code auszuführen, wenn der Anwender einen  Button zum Abbrechen anklickt. So können Sie beispielsweise mit <form action="mailto:s.muenz@euromail.com" onReset="alert('Jetzt sind alle Ihre Eingaben futsch, wie schade!')"> eine Meldung am Bildschirm ausgeben, nachdem der Abbrechen-Button gedrückt wurde.

onSelect="..."

Bedeutung Erlaubt
"Markieren von Text" in einem Eingabefeld.
In  einzeiligen Eingabefeldern:
<input type=text onSelect="...">

In  mehrzeiligen Eingabefeldern:
<textarea onSelect=..."></textarea>

onSelect= ist wohl dazu gedacht, um in Interaktion mit dem Anwender Text weiterzuverarbeiten. Der Anwender kann in einem Eingabeformular mit der Maus Text selektieren. Wenn dies der Fall ist, kann onSelect= die Aktion abfangen und JavaScript-Code ausführen. Leider gibt es jedoch bislang kein JavaScript-Objekt, in dem der selektierte Text gespeichert ist.

onSubmit="..."

Bedeutung Erlaubt
"Beim Absenden eines Formulars". Beim  Definieren von Formularen:
<form action="..." onSubmit="...">

onSubmit= eignet sich dazu, um JavaScript-Code auszuführen, nachdem der Anwender einen  Button zum Absenden eines Formulars anklickt. So können Sie beispielsweise mit <form action="mailto:s.muenz@euromail.com" onSubmit="alert('Vielen Dank fuer Ihr Feedback!')"> eine Meldung am Bildschirm ausgeben, nachdem der Absenden-Button gedrückt wurde.

onUnload="..."

Bedeutung Erlaubt
"Beim Verlassen " von WWW-Seiten. Im  einleitenden <body>-Tag:
<body onUnload="...">
Im  einleitenden <frameset>-Tag:
<frameset onUnload="...">

onUnLoad= eignet sich dazu, um JavaScript- Funktionen auszuführen, wenn der Anwender die WWW-Seite verlassen will. So können Sie beispielsweise mit <body onUnload="document.close();document.open('text/html');document.write('<h1>Bye Bye</h1>');"> einen Bye-Bye-Text beim Beenden der aktuellen WWW-Seite im Anzeigefensters des WWW-Browsers anzeigen.

javascript:"..."

Bedeutung Erlaubt
"Beim Anklicken eines Verweises". Bei  Verweisen:
<a href="javascript:...">Verweistext</a>

javascript: ist dazu gedacht, JavaScript-Code auszuführen, wenn der Anwender auf einen Verweis klickt. Ein Anwendungsbeispiel finden Sie im Abschnitt  Zwei Frames gleichzeitig ändern


Blättern:
Reservierte Wörter     Hinweise zur JavaScript-Objektreferenz

HTML-Dateien selbst erstellen
Dokumentation: JavaScript
JavaScript Sprachelemente

© 1997  Stefan Münz, s.muenz@euromail.com