event |
|
event: Allgemeines zur Verwendung Eigenschaften:
altKey, ctrlKey, shiftKey (Sondertasten/Microsoft) |
|
Mit dem Objekt event können Sie Einzelinformationen zu Anwenderereignissen wie Mausklicks oder Tasteneingaben ermitteln und weiterverarbeiten. So können Sie bei einem Mausklick beispielsweise die genaue Position ermitteln, wo der Mausklick erfolgte, oder bei einem Tastendruck die gedrückte Taste abfragen.
Anwenderereignisse können Sie entweder überwachen, indem Sie in einem erlaubten HTML-Tag einen Event-Handler notieren, oder, indem Sie direkt mit Hilfe von JavaScript eine Ereignisüberwachung programmieren. Für den Fall, daß das überwachte Ereignis eintritt, können Sie eine Handler-Funktion schreiben, die das Ereignis "behandelt", also verarbeitet. Die Handler-Funktion wird automatisch aufgerufen, wenn das Ereignis eintritt. Innerhalb einer Handler-Funktion besteht auch die Möglichkeit, Eigenschaften des eingetretenen Ereignisses abzufragen. Solche Eigenschaften werden auf dieser Seite hier beschrieben.
Sowohl Netscape 4.x als auch der MS Internet Explorer 4.x kennen das event-Objekt. Leider ist die Implementierung jedoch völlig unterschiedlich gelöst und führt zu einer ziemlich chaotischen Situation in diesem Bereich. Die Eigenschaften des Event-Objekts, die auf dieser Seite beschrieben werden, berücksichtigen beide Browser. In der Regel ist eine Eigenschaft jedoch entweder nur bei Netscape oder nur beim MS Internet Explorer verfügbar. Auch in der Syntax zur Überwachung von Ereignissen unterscheiden sich beide Browser. Das gilt sowohl bei der Ereignisüberwachung per Event-Handler in HTML als auch für die direkte Ereignisüberwachung in JavaScript. Die Unterschiede bei den Event-Handlern werden im Abschnitt über Event-Handler näher beschrieben. Hier wird zur allgemeinen Verwendung des event-Objekts beschrieben, wie Sie mit Hilfe von JavaScript eine direkte Ereignisüberwachung programmieren. Das Beispiel zeigt auch, wie Sie eine solche Ereignisüberwachung für beide Browser getrennt programmieren können, ohne daß es zu Fehlermeldungen kommt.
<html><head><title>Test</title> <script language="JavaScript1.2"> var Netscape = new Boolean(); if(navigator.appName == "Netscape") Netscape = true; function TasteGedrueckt(Ereignis) { if(Netscape) { window.status = "Taste mit Dezimalwert " + Ereignis.which + " gedrueckt"; return true; } } function TasteLosgelassen(Ereignis) { if(Netscape) { window.status = "Taste mit Dezimalwert " + Ereignis.which + " losgelassen"; return true; } } document.onkeydown = TasteGedrueckt; document.onkeyup = TasteLosgelassen; </script> <!-- JScript-Bereiche fuer MS Internet Explorer --> <script for=document event="onkeydown()" language="JScript"> { window.status = "Taste mit Dezimalwert " + window.event.keyCode + " gedrueckt"; return true; } </script> <script for=document event="onkeyup()" language="JScript"> { window.status = "Taste mit Dezimalwert " + window.event.keyCode + " losgelassen"; return true; } </script> |