Webdesign mit CSS, HTML und Javascript
Stil mit {stil}
![]() Besser fotografieren: Schärfe kommt vom Objektiv foto.5lux.de Online-Magazin für Fotografie und Bildbearbeitung |
Feb 2008
Javascript Events:: Eigenschaften und Methoden von Ereignissen
Ereignisse beherbergt wichtige Informationen, die das Ereignis und seinen aktuellen Zustand beschreiben – z.B.
- das HTML-Element, auf dem das Ereignis stattfand,
- die auslösende Maustaste oder
- welche Taste auf der Tastatur das Ereignis auslöste.
Im DOM Level 2 wird das Ereignis-Objekt automatisch an die aufgerufende Funktion weitergegeben, aber der Programmierer muss das Event der Funktion trotzdem ausdrücklich übergeben. Um Konflikte mit dem window.event von IE zu vermeiden, sollte man als Namen für den Parameter nicht "event" wählen.
event als Parameter des Event Handlers
element.onclick = someFunction; oder
function someFunction(evt) {
// Verarbeitung des Ereignisses
}
Dieser Parameter ist die einzige Verbindung zum event-Objekt. Wenn wir das Ereignis später in einer anderen Funktion brauchen, muss die Funktion als Relay dienen und das Ereignis oder die Werte seiner Eigenschaften weitergeben.
Anpassung der Referenzen auf das Event-Objekt
Um den unterschiedlichen Umgang mit dem Event-Objekt zwischen den Browsern anzupassen, benutzen wir eine Objekt-Erkennung (Object Detection):
function myFunc(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "");
// Verarbeitung des Ereignisses
}
Klicken Sie in das Feld oder aktivieren Sie das Feld durch die Tabulator-Taste
Die Referenz auf das HTML-Element, an welches das Ereignis gerichtet ist, gehört zu den wichtigsten Informationen. W3C-kompatible Browser sprechen das HTML-Element mit target an, während MSIE srcElement benutzt. Der Unterschied lässt sich durch eine Objekt-Erkennung nivilieren:
var elem = (evt.target) ? evt.target : evt.srcElement;
Attribute
| Definiert von | Unterstützt von | Attribut | Beschreibung |
|---|---|---|---|
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
altKey (boolean) | Gibt an, ob die Alt-Taste beim Feuern des Ereignisses gedrückt war. |
| DOM 2 Basis ObjectEvent |
bubbles (boolean) | Gibt an, ob ein Ereignis aufsteigen kann. | |
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
button (unsiged short) | Syntax: event.button
Maustaste: Eine Zahl für die gedrückte Maustaste W3C linke Maustaste = 1, mittlere Maustaste = 2, rechte Maustaste = 3 MSIE: keine Maustaste = 0, linke Maustaste = 1, rechte Maustaste = 2, rechte und linke Maustaste = 3, mittlere Maustaste = 4, linke und mittlere Maustaste = 5, mittlere und rechte Maustaste = 6, linke, mittlere und rechte Maustaste = 7 Eine Maus mit nur einer Taste wird immer nur 1 zurückgeben, eine Maus mit zwei Tasten kann 1 oder 3 zurückgeben. |
| DOM 2 Basis ObjectEvent |
cancelable (boolean) | Gibt an, ob die vorgegebene Aktion verhindert werden kann. | |
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
clientX/clientY | Mauskoordinaten relativ zum Fenster, in Safari 1.2 relativ zum Document |
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
ctrlKey (boolean) | Gibt an, ob die Ctrl-Taste beim feuern des Ereignisses gedrückt war. |
| DOM 2 Basis ObjectEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
currentTarget | Gibt die Targets (die Elemente, für die der Event Handler registriert wurde) zurück, deren Event Listener augenblicklich durchgeführt werden. |
| DOM 2 Basis ObjectEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
eventPhase (unsigned short) | Gibt die Phase zurück, in der sich ein Ereignis augenblicklich befindet: CAPTURING_PHASE (1), AT_TARGET (2) oder BUBBLING_PHASE (3) |
| MSIE | MSIE 6 | fromElement/toElement | gibt das Element, von dem aus die Maus einen mouseover-Bereich betritt bzw. das Element, das die Maus nach einem mouseover betritt. Entspricht dem relatedTarget des W3C |
| MSIE | MSIE 6 Mozilla Safari 1.3 Opera 8 |
keyCode | Syntax: event.keyCode
Letzte gedrückte Taste. Das Zeichen mit String.fromCharCode(keyCode) lesen |
| Netscape 6 |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
layerX/layerY | Syntax: event.layerX event.layerY
Anzahl der Pixel in der horizontalen/vertikalen Position des Mauszeiger relativ zum Ereignis-auslösenden, absolut positionierten Element, oder – wenn die Eigenschaft von einem resize-Ereignis zurückgegeben wurde – die Breite/Höhe des Objekts. Diese Eigenschaften sind ein Synonym für die Objekt-Eigenschaften x und y Micht MSIE, Nicht Opera |
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
metaKey (boolean) | Gibt an, ob die 'Meta'-Taste beim Feuern des Ereignisses gedrückt war. Nur Mozilla auf dem Mac und Safari unterstützen diese Eigenschaft für die „Apfel“-Taste des Macs. |
| MSIE | MSIE | offsetX / offsetY | Syntax: event.offsetX event.offsetY
Gibt die Mauskoordinaten relativ zum Element, für das das Ereignis registriert wurde, zurück Entspricht dem layerX und layerY in Netscape |
| Netscape 6 | MSIE 6 Mozilla Safari 1.3 Opera 8 |
pageX / pageY | Syntax: event.pageX / event.pageY
Horizontale/vertikale Cursorposition beim Eintreten des Ereignisses in Bezug auf die Seite Nicht MSIE |
| DOM 2 MouseEvent |
relatedTarget (readonly) | Gibt bei einem mouseover-Ereignis an, welches Element verlassen wurde. Bei einem mouseout gibt die Eigenschaft an, auf welchen Knoten die Maus bewegt wurde. MSIE: fromElement, toElement |
|
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
shiftKey (boolean) | Gibt an, ob die Shift-Taste beim feuern des Ereignisses gedrückt war. |
| DOM 2 MouseEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
screenX / screenY | Syntax: event.screenX / event.screenY
x-/y-Koordinate des Mauszeigers beim Eintreten des Ereignisses relativ zum Koordinatensystem des Fensters. |
| MSIE | MSIE 6 Mozilla Safari 1.3 Opera 8 |
srcElement | Syntax: event.srcElement[ = oObject ]
MSIE: Setzt/Liest das Ereignis-auslösende Objekt |
| DOM 2 Basis ObjectEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
target (readonly) | Syntax: event.target
Referenz auf das Objekt, an welches das Ereignis ursprünglich gesendet wurde Nicht MSIE (außer IE 5 Mac) |
| DOM 2 Basis ObjectEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
timeStamp | Zeit in Millisekunden, zu der ein Ereignis erzeugt wurde. Kann auf einigen Plattformen nicht verfügbar sein. In diesem Fall wird 0 zurückgegeben. |
| DOM 2 Basis ObjectEvent |
MSIE 6 Mozilla Safari 1.3 Opera 8 |
type (string, readonly) | Syntax: event.type
Typ des Ereignis (click, keyPress, load, ...) als String |
| Netscape 6 | MSIE 6 Mozilla Safari 1.3 Opera 8 |
which | Syntax: event.which
Maustaste: Eine Zahl für die gedrückte Maustaste linke Maustaste = 1, mittlere Maustaste = 2, rechte Maustaste = 3 Safari: Nur die linke Maustaste wird erkannt. Opera: linke Maustaste = 1, mittlere Maustaste = 3, rechte Maustaste = 2 Tastatur: Eine gedrückte Taste auf der Tastatur (Netscape: Ascii-Wert, MSIE: Unicode) beim Eintreten des Ereignis |
| MSIE | MSIE 6 Mozilla Safari 1.3 Opera 8 |
x/y | Syntax: event.x event.y
MSIE/Opera: Koordinaten der Mausposition relativ zu einem relativ positionierten Eltern-Element. Safari: clientX/clientY Netscape: layerX und layerY |
Event Handling, ECMAScript Language Binding


