info@a-coding-project.de

Ereignisse in JavaScript

Ereignisse sind bestimmte Situationen oder Vorkommnisse, auf die speziell reagiert und eingegangen werden kann. Dazu gibt es eine Reihe von Event-Handlern (Ereignis-Bearbeiter).

Verwendung von Ereignissen in J(ava)Script

Innerhalb von JavaScript bzw. JScript können Events wie ganz normale Eigenschaften eines Objektes notiert werden. Man notiert dazu das jeweilige Objekt, einen Punkt (.) und das jeweilige Event. Die meisten Ereignisse können jederzeit abgebrochen werden, indem man ihnen den Wert false zuweist.

Des Weiteren kann eine Funktion oder eine Methode eines Objektes übergeben werden, die z.B. prüft, ob das Ereignis stattfinden soll oder nicht und demnach true (das Ereignis wird ausgeführt) oder false (das Ereignis wird nicht ausgeführt) an das Ereignis zurück gibt.

Wichtig dabei ist, dass eine Funktion ohne Parameter aufgerufen wird, wobei sich aber JavaScript und JScript ein wenig unterscheiden:

Beide Sprachen erlauben es zwar nicht, eine Funktion mit Parameter aufzurufen, JavaScript übergibt jedoch automatisch einen Parameter an die aufgerufene Funktion. Dieser Parameter ist vom Namen her frei wählbar und ist vom Typ des JavaScript Event-Objekts. Dazu muss die Funktion bei der Zuweisung zu einem Ereignis ohne Klammern und ohne Parameter notert werden. Die Funktion an sich kann/sollte dann aber einen (beliebigen) Parameter erhalten. Das übergebene Objekt enthält dann - je nach Art des Ereignisses - bestimmte die Eigenschaften die das Ereignis kennzeichnen.

JScript hingegen erwartet, dass die Funktion sowie die Zuweisung keine Parameter enthalten. Zusätzlich müssen alle Ereignisnamen komplett klein geschrieben werden (also ondblclick statt onDblClick). Es übergibt alle Eigenschaften des Ereignisses an das globale Objekt window.event.

Um Fehlern vorzubeugen wird dazu geraten, eine Browserabfrage vor die Ereigniszuweisung zu setzten, um heruaszufinden welche Sprache es sich handelt und ggf. reagieren zu können. Beispiel:

/* JavaScript ... */
function CheckFormular(Ereignis)
{
 if(Ereignis.type == 'submit')
  {
   if(document.meinFormular.Textfeld.value == '')
   {return(false);}
  }
}
document.meinFormular.onSubmit = CheckFormular;

/* JScript ... */
function CheckFormular()
{
 if(window.event.type == 'submit')
  {
   if(document.meinFormular.Textfeld.value == '')
   {return(false);}
  }
}
document.meinFormular.onsubmit = CheckFormular; 

Erklärung: Im Beispiel wird dem Formular meinFormular das Ereignis onSubmit zugewiesen. Wird das Ereignis ausgelöst (wird also das Formular abgesendet), so wird die Funktion CheckFormular( [Ereignis] ) aufgerufen. Innerhalb der Funktion wird abgefragt, ob es sich bei dem Aufruf der Funktion um das Absenden eines Formulars handelt (also ob onSubmit ausgelöst wurde). Ist dies der Fall, wird geprüft, ob in das Inputfeld Textfeld etwas geschrieben wurde oder nicht. Ist es leer, so wird false an das Ereignis zurück gegeben und das Absenden des Formulars somit verhindert.

Verwendung von Ereignissen in HTML

Innerhalb von HTML können ebenfalls Verweise auf JavaScript bzw. JScript Ereignisse gelegt werden. Wie dies zu notieren ist, erfahren Sie im Script-Kapitel der HTML-Dokumentation. Bitte beachten Sie auch dabei, dass zwischen JavaScript und JScript geringfügige Unterschiede bestehen.

Event-Handler

In JavaScript und JScript sind die folgenden Event-Handler enthalten:
onAbort, onBlur, onChange, onClick, onDblClick, onDragDrop, onError, onFocus, onKeyDown, onKeyPress, onKeyUp, onLoad, onMouseDown, onMouseMove, onMouseOut, onMouseOver, onMouseUp, onMove, onReset, onResize, onSelect, onSubmit, onUnload
Zusätzlich definiert Microsoft noch einige weitere.

Weiterlesen: ⯈ Verarbeitung

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant