DOM -Ereignisse
DOM (Dokumentobjektmodell) Ereignisse sind ein Signal, dass etwas aufgetreten ist oder auftritt und durch Benutzerinteraktionen oder durch den Browser ausgelöst werden kann.[1] Client-Seite Skriptsprachen wie JavaScript, Jscript, ECMaskript, Vbscript, und Java kann verschiedene registrieren Event -Handler oder Zuhörer auf den Elementknoten in a Dom Baum, wie in Html, Xhtml, Xul, und SVG Unterlagen.
Beispiele für DOM -Ereignisse:
- Wenn ein Benutzer auf die Maus klickt
- Wenn eine Webseite geladen wurde
- Wenn ein Bild geladen wurde
- Wenn sich die Maus über ein Element bewegt
- Wenn ein Eingangsfeld geändert wird
- Wenn ein HTML -Formular eingereicht wird
- Wenn ein Benutzer eine Taste drückt[2]
Historisch gesehen wie DOM die Ereignismodelle, die von verschiedenen verwendet werden Internetbrowser hatten einige signifikante Unterschiede, die Kompatibilitätsprobleme verursachten. Um dies zu bekämpfen, wurde das Ereignismodell durch das standardisiert World Wide Web Konsortium (W3C) in DOM -Stufe 2.
Veranstaltungen
HTML -Ereignisse
Gemeinsame Ereignisse
Es gibt eine große Sammlung von Ereignissen, die von den meisten Elementknoten generiert werden können:
- Maus Veranstaltungen.[3][4]
- Klaviatur Veranstaltungen.
- HTML -Frame/Objektereignisse.
- HTML Form Ereignisse.
- Benutzeroberflächenereignisse.
- Mutationsereignisse (Benachrichtigung über Änderungen an der Struktur eines Dokuments).
- Fortschrittsereignisse[5] (benutzt von Xmlhttprequest, Datei -API,[6]).
Beachten Sie, dass die obige Ereignisklassifizierung nicht genau mit der Klassifizierung von W3C entspricht.
Kategorie | Typ | Attribut | Beschreibung | Bläschen | Stornierbar |
---|---|---|---|---|---|
Maus | klicken | ONCLICK | Feuert, wenn die Zeigegerät Die Schaltfläche wird über ein Element geklickt. Ein Klick wird als Mousedown und MouseUp über demselben Bildschirmort definiert. Die Abfolge dieser Ereignisse ist:
| Ja | Ja |
dblclick | ONDBLCLICK | Feuer, wenn die Taste des Zeigegeräts ist Doppelklick über ein Element | Ja | Ja | |
Maus nach unten | OnmouseDown | Zeugt, wenn die Taste des Zeigegeräts über ein Element gedrückt wird | Ja | Ja | |
Mausup | OnmouseUp | Feuer, wenn die Taste des Zeigegeräts über ein Element freigegeben wird | Ja | Ja | |
Mausover | Onmouseover | Feuert, wenn das Zeigegerät auf ein Element verschoben wird | Ja | Ja | |
Mousemove[7] | Onmousemove | Feuer, wenn das Zeigegerät bewegt wird, während es über einem Element ist | Ja | Ja | |
Mausout | Onmouseout | Feuer, wenn das Zeigungsgerät von einem Element entfernt wird | Ja | Ja | |
Dragstart | Ondragstart | Auf ein Element gefeuert, wenn ein Widerstand begonnen wird. | Ja | Ja | |
ziehen | ONDRAG | Dieses Ereignis wird auf die Quelle des Widerstands, dh dem Element, in dem Dragstart abgefeuert wurde, während des Widerstandsvorgangs abgefeuert. | Ja | Ja | |
Dragenter | ONDRAGENTER | Feuer, wenn die Maus zum ersten Mal über ein Element bewegt wird, während ein Widerstand auftritt. | Ja | Ja | |
Dragleave | Ondragleave | Dieses Ereignis wird abgefeuert, wenn die Maus ein Element hinterlässt, während ein Widerstand auftritt. | Ja | Nein | |
drüber ziehen | ONDRAGOVER | Dieses Ereignis wird abgefeuert, da die Maus über ein Element bewegt wird, wenn ein Widerstand auftritt. | Ja | Ja | |
fallen | ONDROP | Das Drop -Ereignis wird auf das Element abgefeuert, in dem der Tropfen am Ende des Widerstandsvorgangs auftritt. | Ja | Ja | |
Dragend | ONDRAGEND | Die Quelle des Drag erhält ein Dragend -Ereignis, wenn der Drag -Operation abgeschlossen ist, unabhängig davon, ob er erfolgreich war oder nicht. | Ja | Nein | |
Klaviatur | Taste nach unten | Onkeydown | Feuer vor dem Tastendruck, wenn eine Taste auf der Tastatur gedrückt wird. | Ja | Ja |
Tastendruck | Onkeypress | Zündet nach dem Tastendown, wenn eine Taste auf der Tastatur gedrückt wird. | Ja | Ja | |
Keyup | Onkeyup | Feuer, wenn eine Taste auf der Tastatur veröffentlicht wird | Ja | Ja | |
HTML -Rahmen/Objekt | Belastung | Onload | Feuert, wenn die User-Agent Beendet das Laden aller Inhalte in einem Dokument, einschließlich Fenster, Frames, Objekten und Bildern Für Elemente feuert es aus, wenn das Zielelement und der gesamte Inhalt das Laden beendet haben | Nein | Nein |
entladen | Onunladung | Fügt, wenn der Benutzeragent alle Inhalte aus einem Fenster oder Frame entfernt Für Elemente feuert es aus, wenn das Zielelement oder ein seiner Inhalte entfernt wurde | Nein | Nein | |
abbrechen | Onabort | Feuer, wenn ein Objekt/Bild vor dem vollständig geladenen Laden gestoppt wird | Ja | Nein | |
Error | onError | Feuert, wenn ein Objekt/Bild/Rahmen nicht ordnungsgemäß geladen werden kann | Ja | Nein | |
Größenänderung | onresize | Brände, wenn eine Dokumentansicht geändert wird | Ja | Nein | |
scrollen | ONSCROLL | Feuert, wenn eine Element- oder Dokumentansicht gescrollt wird | Nein, außer dass ein Scroll -Ereignis im Dokument zum Fenster sprudeln muss[8] | Nein | |
HTML -Form | auswählen | Onselect | Feuert, wenn ein Benutzer einen Text in a auswählt Textfeld, einschließlich Eingabe und Textbereich | Ja | Nein |
Rückgeld | bei Änderung | Feuer, wenn eine Steuerung den Eingang verliert Fokus und sein Wert wurde seit dem Gewinn des Fokus geändert | Ja | Nein | |
einreichen | ONSUBMIT | Brände, wenn ein Formular eingereicht wird | Ja | Ja | |
zurücksetzen | Onreset | Feuer, wenn ein Formular zurückgesetzt wird | Ja | Nein | |
Fokus | im Fokus | Feuert, wenn ein Element den Fokus entweder über das Zeigegerät oder durch erhält Tab Navigation | Nein | Nein | |
verwischen | Onblur | Feuert, wenn ein Element den Fokus entweder über das Zeigegerät oder durch verliert Tabbing -Navigation | Nein | Nein | |
Benutzeroberfläche | Fokusin | (keiner) | Ähnlich wie beim HTML -Fokusereignis, kann aber auf jedes fokussierbare Element angewendet werden | Ja | Nein |
Fokusout | (keiner) | Ähnlich wie bei HTML Blur -Ereignis, kann aber auf jedes fokussierbare Element angewendet werden | Ja | Nein | |
Domaktivieren | (keiner) | Ähnlich wie das XUL -Befehlsereignis. Brennt, wenn ein Element beispielsweise über einen Mausklick oder einen Tastendruck aktiviert wird. | Ja | Ja | |
Mutation | DomsubTreemodified | (keiner) | Feuert, wenn der Unterbaum modifiziert wird | Ja | Nein |
DomnodeInserted | (keiner) | Feuer, wenn ein Knoten als Kind eines anderen Knotens hinzugefügt wurde | Ja | Nein | |
Domnoderemed | (keiner) | Feuer, wenn ein Knoten aus einem Dom-Baum entfernt wurde | Ja | Nein | |
DomnoderemedFromDocument | (keiner) | Feuer, wenn ein Knoten aus einem Dokument entfernt wird | Nein | Nein | |
DomnodeinsertedIntodocument | (keiner) | Feuer, wenn ein Knoten in ein Dokument eingefügt wird | Nein | Nein | |
DomattrModified | (keiner) | Feuer, wenn ein Attribut geändert wurde | Ja | Nein | |
Domaracterdatamodified | (keiner) | Feuert, wenn die Charakterdaten geändert wurden | Ja | Nein | |
Fortschritt | loadstart | (keiner) | Der Fortschritt hat begonnen. | Nein | Nein |
Fortschritt | (keiner) | Im Gange. Nach dem Versand von LoadStart. | Nein | Nein | |
Error | (keiner) | Fortschritt fehlgeschlagen. Nachdem der letzte Fortschritt versandt wurde oder nach dem Versand von Laststart gesendet wurde, wenn keine Fortschritte geschickt wurden. | Nein | Nein | |
abbrechen | (keiner) | Fortschritt wird beendet. Nachdem der letzte Fortschritt versandt wurde oder nach dem Versand von Laststart gesendet wurde, wenn keine Fortschritte geschickt wurden. | Nein | Nein | |
Belastung | (keiner) | Fortschritt ist erfolgreich. Nachdem der letzte Fortschritt versandt wurde oder nach dem Versand von Laststart gesendet wurde, wenn keine Fortschritte geschickt wurden. | Nein | Nein | |
Loadend | (keiner) | Der Fortschritt hat gestoppt. Nach dem Fehler wurde abgebrochen oder lastet versandt. | Nein | Nein |
Beachten Sie, dass die Ereignisse, deren Namen mit "DOM" beginnen, derzeit nicht gut unterstützt werden und aus diesem und anderen Leistungsgründen vom W3C in DOM Level 3 veraltet werden. Mozilla und Oper Unterstützung DomattrModified, DomnodeInserted, Domnoderemed und Domaracterdatamodified. Chrom und Safari Unterstützen Sie diese Ereignisse außer auf DomattrModified.
Berührenereignisse
Webbrowser laufen auf Touch Aktiviert Geräte wie Apple's iOS und Google AndroidErstellen Sie zusätzliche Ereignisse.[9]: §5.3
Kategorie | Typ | Attribut | Beschreibung | Bläschen | Stornierbar |
---|---|---|---|---|---|
Berühren | Touchstart | Feuer, wenn ein Finger auf die Berührungsoberfläche/den Bildschirm platziert wird. | Ja | Ja | |
Berührung | Feuer, wenn ein Finger von der Berührungsoberfläche/des Bildschirms entfernt wird. | Ja | Ja | ||
Touchmove | Feuer, wenn ein bereits auf dem Bildschirm platzierter Finger über den Bildschirm verschoben wird. | Ja | Ja | ||
Berührung | Feuer, wenn sich ein Berührungspunkt auf den interaktiven Bereich bewegt, der durch ein DOM -Element definiert ist. | Ja | Ja | ||
Touchleave | Brennt, wenn ein Berührungspunkt den interaktiven Bereich abhebt, der durch ein DOM -Element definiert ist. | Ja | Ja | ||
Touchcancel | A User-Agent Muss diesen Ereignisart entsenden, um anzuzeigen, wann ein Berührungspunkt auf implementierungsspezifische Weise gestört wurde, z. B. durch das Bewegen der Grenzen des UA-Fensters. Ein Benutzeragenten kann diesen Ereignisentyp auch versenden, wenn der Benutzer mehr Berührungspunkte (den Koordinatenpunkt, an dem ein Zeiger (z. B. Finger oder Stift) die Zieloberfläche einer Schnittstelle überschneidet) auf der Berührungsoberfläche platziert, als das Gerät oder die Implementierung konfiguriert ist Speichern Sie in diesem Fall das früheste Touchpoint -Objekt in der Touchliste.[9]: §5.9 | Ja | Nein |
In dem W3c Entwurfsempfehlung, a Touchentest
liefert a Touchliste
von Berühren
Standorte, die Modifikatorschlüssel das waren aktiv, a Touchliste
von Berühren
Standorte innerhalb des gezielten DOM -Elements und a Touchliste
von Berühren
Standorte, die sich seit dem vorherigen geändert haben Touchentest
.[9]
Apfel Nicht in dieser Arbeitsgruppe beigetreten und verzögerte die W3C -Empfehlung der Spezifikation für Touch -Ereignisse durch Offenlegung Patente spät im Empfehlungsprozess.[10]
Zeigerereignisse
Webbrowser auf Geräten mit verschiedenen Arten von Eingabegeräten, einschließlich Maus, Touchpanel und Stift, können integrierte Eingabeereignisse generieren. Benutzer können sehen, welche Art von Eingabegerät gedrückt wird, welche Taste auf diesem Gerät gedrückt wird und wie stark die Taste gedrückt wird, wenn es um einen Stiftstift geht. Ab Oktober 2013 wird diese Veranstaltung nur von Internet Explorer 10 und 11 unterstützt.[11]
Kategorie | Typ | Attribut | Beschreibung | Bläschen | Stornierbar |
---|---|---|---|---|---|
Zeiger | Zeiger | Onpointerdown | Zeugt, wenn die Taste des Zeigegeräts aktiviert oder über ein Element gedrückt wird. | Ja | Ja |
Zeiger | Onpointerup | Feuer, wenn die Taste des Zeigegeräts über ein Element freigegeben wird | Ja | Ja | |
pointercancel | Onpointercancel | Brände, wenn ein Zeigegerät es unwahrscheinlich ist, dass ein Ereignis produziert, da das Gerät beispielsweise zum Schwingen/Zoomen nach einem Zeigerereignis verwendet wird. | Ja | Ja | |
Zeigermove | Onpointermove | Feuer, wenn das Zeigegerät bewegt wird, während es über einem Element ist | Ja | Ja | |
Zeiger | Onpointerover | Feuert, wenn das Zeigegerät auf ein Element verschoben wird | Ja | Ja | |
Zeiger | Onpointerout | Feuer, wenn das Zeigungsgerät von einem Element entfernt wird. Zeugt auch nach dem Zeiger, indem Sie Geräte ohne Überlebung oder danach zeigen, oder danach | Ja | Ja | |
Zeiger | Onpointerenter | Feuer, wenn das Zeigungsgerät auf ein Element verschoben wird oder wenn der Taste des Zeigungsgeräts, der nicht schwebend unterstützt wird, auf eines seiner Nachkommenelemente gedrückt wird. | Nein | Ja | |
Zeigerleibe | Onpointerleave | Brände, wenn das Zeigungsgerät von einem Element weggezogen wird oder wenn der Knopf des Zeigungsgeräts, der nicht schwebend unterstützt wird, über seine Nachkommenelemente freigegeben wird. | Nein | Ja | |
gotpointercapture | OngotPointercapture | Zündet, wenn der Zeiger mit der SetPointercapture -Methode erfasst wird. | Ja | Nein | |
LostPointercapture | Onlostpointercapture | Brennt, wenn der Zeiger durch die Releasepointercapture -Methode freigegeben wird. | Ja | Nein |
Indie -UI -Ereignisse
Die Indie -UI -Arbeitsgruppen, die Webanwendungsentwicklern helfen, können Standard -Benutzer -Interaktionsereignisse unterstützen, ohne verschiedene plattformspezifische technische Ereignisse zu verarbeiten, die mit ihm übereinstimmen.[12]
Das Scripting nutzbare Schnittstellen kann schwierig sein, insbesondere wenn man berücksichtigt, dass die Design -Designmuster der Benutzeroberfläche in Bezug auf Softwareplattformen, Hardware und Lokales unterscheiden und dass diese Interaktionen basierend auf persönlichen Vorlieben weiter angepasst werden können. Einzelpersonen sind an die Art und Weise gewöhnt, wie die Schnittstelle in ihrem eigenen System funktioniert, und ihre bevorzugte Schnittstelle unterscheidet sich häufig von der der bevorzugten Schnittstelle des Webanwalts.
Zum Beispiel müssen Autoren von Webanwendungen, die die Absicht eines Benutzers abfangen möchten, die letzte Aktion rückgängig zu machen, für alle folgenden Ereignisse "zuhören":
- Steuerung+Z unter Windows und Linux.
- Befehl+Z unter Mac OS X.
- Shake Events auf einigen mobilen Geräten.
Es wäre einfacher, auf eine einzelne, normalisierte Anfrage zu hören, die vorherige Aktion rückgängig zu machen.
Kategorie | Typ | Beschreibung | Bläschen | Stornierbar |
---|---|---|---|---|
Anfrage | undorequest | Zeigt an, dass der Benutzer die vorherige Aktion "rückgängig machen" möchte. (Kann durch die undomanager -Schnittstelle ersetzt werden.) | Ja | Ja |
Redorequest | Zeigt an, dass der Benutzer die zuvor "rückgängige" Aktion "wiederherstellen" möchte. (Kann durch die undomanager -Schnittstelle ersetzt werden.) | Ja | nein | |
expandrequest | Zeigt der Benutzer an, um Informationen in einem zusammengebrochenen Abschnitt (z. B. einem Offenlegungs -Widget) oder einem Zweigknoten in einer Hierarchie (z. B. a Baumsicht). | Ja | Ja | |
Collapssequest | Zeigt an, dass der Benutzer Informationen in einem erweiterten Abschnitt (z. B. einem Offenlegungs -Widget) oder einem Zweigknoten in einer Hierarchie (z. B. einer Baumansicht) ausblenden oder zusammenbricht. | Ja | Ja | |
Entlassung | Zeigt die Wünsche der aktuellen Ansicht an (z. B. Stornierung eines Dialogfelds oder Schließen eines Popup -Menüs). | Ja | Ja | |
Löschen | Zeigt an, dass der Benutzer eine "Löschen" -Kaktion auf das markierte Element oder die aktuelle Ansicht einleiten möchte. | Ja | Ja | |
Fokusanfrage | Direktionalfokusrequest | Initiiert, wenn der Benutzeragent eine "Direction Focus" -Anforderung an die Webanwendung sendet. Webautoren sollten nicht für DirectionalfocusRequest -Ereignisse verwenden oder registrieren, wenn der Standard -Browser -Fokus- und Blur -Ereignisse ausreicht. Wenn Sie diese Ereignisse unnötig verwenden, kann dies zu einer verringerten Leistung oder einer negativen Benutzererfahrung führen. | Ja | Ja |
linearfocusRequest | Initiiert, wenn der Benutzeragent eine "lineare Fokus" -Anforderung an die Webanwendung sendet. Webautoren sollten nicht für linearFocusRequest -Ereignisse verwenden oder registrieren, wenn der Standard -Browser -Fokus- und Blur -Ereignisse ausreicht. Dieser Ereignisart ist nur bei speziellen Steuertypen wie Datennetze erforderlich, bei denen das logische nächste Element erst angefordert wird. Wenn Sie diese Ereignisse unnötig verwenden, kann dies zu einer verringerten Leistung oder einer negativen Benutzererfahrung führen. | Ja | Ja | |
PalettefocusRequest | Initiiert, wenn der Benutzeragent eine "Palette Focus" -Anforderung an die Webanwendung sendet. Web -App -Autoren, die dieses Ereignis erhalten, sollten den Fokus auf die erste Palette in der Webanwendung oder den Zyklusfokus zwischen allen verfügbaren Paletten verlagern. Hinweis: Paletten werden manchmal als nicht modale Dialoge oder Inspektorfenster bezeichnet. | Ja | Ja | |
ToolBarfocusRequest | Initiiert, wenn der Benutzeragent eine "Toolbar Focus" -Anforderung an die Webanwendung sendet. Web -App -Autoren, die dieses Ereignis erhalten, sollten sich auf die Haupt -Symbolleiste in der Webanwendung befassen oder den Zyklusfokus zwischen allen verfügbaren Symbolleisten. | Ja | Ja | |
Manipulationsanfrage | Moverequest | Initiiert, wenn der Benutzeragent eine Verschiebungsanforderung an die Webanwendung mit den damit verbundenen X/Y -Delta -Werten sendet. Dies wird beispielsweise verwendet, wenn ein Objekt an einen neuen Ort auf einer Layout -Leinwand verschoben wird. | Ja | Ja |
Panrequest | Initiiert, wenn der Benutzeragent eine PAN -Anforderung an die Webanwendung sendet, mit begleitenden X/Y -Delta -Werten. Dies wird beispielsweise beim Ändern des Mittelpunkts beim Verschwinden einer Karte oder eines anderen benutzerdefinierten Bildbetriebs verwendet. | Ja | Ja | |
RotationRequest | Initiiert, wenn der Benutzeragent eine Rotationsanforderung an die Webanwendung mit den begleitenden Ursprungs -X/Y -Werten und einem Rotationswert in Grad sendet. | Ja | Ja | |
ZoomRequest | Initiiert, wenn der Benutzeragent eine Zoomanforderung an die Webanwendung sendet, mit den begleitenden Ursprungs -X/Y -Werten und dem Zoomskala -Faktor. | Ja | Ja | |
Scrollanfrage | ScrollRequest | Initiiert, wenn der Benutzeragent eine Scroll -Anforderung an die Webanwendung sendet, mit begleitenden X/Y -Delta -Werten oder einer der anderen definierten Scrolltype -Werte. Autoren sollten dieses Ereignis nur mit benutzerdefinierten Bildlaufansichten verwenden. | Ja | Ja |
Valuechange -Anfrage | Valuechangerequest | Initiiert, wenn der Benutzeragent eine Wertänderungsanforderung an die Webanwendung sendet. Wird für benutzerdefinierte Reichweite wie Schieberegler, Karussell usw. verwendet. | Ja | Ja |
Internet Explorer-spezifische Ereignisse
Zusätzlich zu den gemeinsamen Ereignissen (W3C) werden zwei Haupttypen von Ereignissen hinzugefügt von hinzugefügt von Internet Explorer. Einige der Ereignisse wurden als implementiert als de facto Standards von anderen Browsern.
- Zwischenablage Veranstaltungen.
- Datenbindungsereignisse.[Klarstellung erforderlich]
Kategorie | Typ | Attribut | Beschreibung | Bläschen | Stornierbar |
---|---|---|---|---|---|
Zwischenablage | schneiden | Oncut | Brände nach einer Auswahl werden in die Zwischenablage geschnitten. | Ja | Ja |
Kopieren | Onkopie | Brände nach einer Auswahl werden in die Zwischenablage kopiert. | Ja | Ja | |
Einfügen | Onpaste | Brände nach einer Auswahl werden aus der Zwischenablage eingefügt. | Ja | Ja | |
vorpecut | aufbefürecut | Brände vor einer Auswahl wird in die Zwischenablage geschnitten. | Ja | Ja | |
Beforecopy | onbeForecopy | Brände vor einer Auswahl werden in die Zwischenablage kopiert. | Ja | Ja | |
Vorpaste | onbeforpaste | Brände vor einer Auswahl werden aus der Zwischenablage eingefügt. | Ja | Ja | |
Datenbindung | nach dem Update | onafterupdate | Feuer unmittelbar nach dem Aktualisieren eines Datenblockobjekts. | Ja | Nein |
vor OUPDATE | onbeforeupdate | Feuer vor einer Datenquelle wird aktualisiert. | Ja | Ja | |
CellChange | Oncellchange | Feuer, wenn sich eine Datenquelle geändert hat. | Ja | Nein | |
Daten verfügbar | ONDATAAVAILE | Feuert, wenn neue Daten aus einer Datenquelle verfügbar sind. | Ja | Nein | |
datasetchanged | ONDATASETADEDED | Feuert, wenn sich der Inhalt in einer Datenquelle geändert hat. | Ja | Nein | |
DataSetComplete | ONDATASETCOMPLETET | Feuert bei der Übertragung von Daten aus der Datenquelle ab. | Ja | Nein | |
ERROULUPDATE | onErrorupdate | Feuert, wenn ein Fehler beim Aktualisieren eines Datenfelds auftritt. | Ja | Nein | |
Rowenter | Onrowenter | Feuert, wenn eine neue Datenreihe aus der Datenquelle verfügbar ist. | Ja | Nein | |
rowexit | Onrowexit | Feuert, wenn eine Reihe von Daten aus der Datenquelle gerade fertiggestellt ist. | Nein | Ja | |
ROWSDELETE | onrowsdelete | Feuert, wenn eine Datenreihe aus der Datenquelle gelöscht wird. | Ja | Nein | |
RowInserted | Onrowinserted | Feuert, wenn eine Datenreihe aus der Datenquelle eingefügt wird. | Ja | Nein | |
Maus | Kontextmenü | OncontextMenu | Feuert, wenn das Kontextmenü angezeigt wird. | Ja | Ja |
ziehen | ONDRAG | Feuer, wenn während a Maus ziehen (auf dem sich bewegenden Element). | Ja | Ja | |
Dragstart | Ondragstart | Feuer, wenn ein Maus -Zug beginnt (auf dem sich bewegenden Element). | Ja | Ja | |
Dragenter | ONDRAGENTER | Feuer, wenn etwas auf einen Bereich gezogen wird (auf das Zielelement). | Ja | Ja | |
drüber ziehen | ONDRAGOVER | Brände, wenn ein Widerstand über einem Bereich gehalten wird (auf dem Zielelement). | Ja | Ja | |
Dragleave | Ondragleave | Feuer, wenn etwas aus einem Bereich (auf das Zielelement) herausgezogen wird. | Ja | Ja | |
Dragend | ONDRAGEND | Feuer, wenn eine Maus zieht (auf dem sich bewegenden Element). | Ja | Ja | |
fallen | ONDROP | Feuer, wenn eine Maustaste während eines Zuges über ein gültiges Ziel freigelassen wird (auf dem Zielelement). | Ja | Ja | |
selectStart | Onselectstart | Feuert, wenn der Benutzer beginnt, Text auszuwählen. | Ja | Ja | |
Klaviatur | Hilfe | OnHelp | Feuert, wenn der Benutzer Hilfe initiiert. | Ja | Ja |
HTML -Rahmen/Objekt | Vorher | onbeforeUnload | Brände bevor ein Dokument entladen wird. | Nein | Ja |
Pause | OnStop | Feuert, wenn der Benutzer das Laden des Objekts nicht mehr lädt. (Im Gegensatz zu ABORT kann das Stop -Event an das Dokument beigefügt werden) | Nein | Nein | |
HTML -Form | voreditfocus | onbeforeeditfocus | Feuer vor einem Element gewinnt Fokus für die Bearbeitung. | Ja | Ja |
Festzelt | Anfang | am Start | Feuer, wenn ein Festzelt eine neue Schleife beginnt. | Nein | Nein |
Fertig | Onfinish | Brände, wenn die Festzeltschlaufe abgeschlossen ist. | Nein | Ja | |
prallen | onstrounce | Feuer, wenn ein Scrolling -Festzelt in die andere Richtung zurückspringt. | Nein | Ja | |
Sonstig | vorabdruck | onbeforprint | Brände, bevor ein Dokument gedruckt wird | Nein | Nein |
Nachdruck | nach dem Nachdruck | Brennt unmittelbar nach dem Dokument. | Nein | Nein | |
PropertyChange | On -Propertychange | Feuert, wenn die Eigenschaft eines Objekts geändert wird. | Nein | Nein | |
Filterchange | Onfilterchange | Feuert, wenn ein Filter die Eigenschaften ändert oder einen Übergang beendet. | Nein | Nein | |
ReadyStatechange | onreadyStatechange | Feuert, wenn sich die ReadyState -Eigenschaft eines Elements ändert. | Nein | Nein | |
Losecapture | OnloSecapture | Feuer, wenn die Veröffentlichungsmethode aufgerufen wird. | Nein | Nein |
Beachten Sie, dass Mozilla, Safari und Opera auch das ReadyStatechange -Event für die Xmlhttprequest Objekt. Mozilla unterstützt auch das voranladende Ereignis mit der herkömmlichen Ereignisregistrierungsmethode (DOM -Stufe 0). Mozilla und Safari unterstützen auch ContextMenu, aber Internet Explorer für Mac nicht.
Beachten Sie, dass Firefox 6 und später die Vorabdruck- und Nachdruckereignisse unterstützen.
Xul Ereignisse
Zusätzlich zu den gemeinsamen Ereignissen (W3C) definierte Mozilla eine Reihe von Ereignissen, die nur mit funktionieren Xul Elemente.
Kategorie | Typ | Attribut | Beschreibung | Bläschen | Stornierbar |
---|---|---|---|---|---|
Maus | DommouSeScroll | DommouSeScroll | Feuer, wenn das Mausrad bewegt wird, wodurch der Inhalt scrollen kann. | Ja | Ja |
ziehen und loslassen | ONDRAGROP | Feuert, wenn der Benutzer die Maustaste freigibt, um auf Lassen Sie ein Objekt fallen lassen, das gezogen wird. | Nein | Nein | |
Dragenter | ONDRAGENTER | Zeugt, wenn sich der Mauszeiger beim Widerstand zum ersten Mal über ein Element bewegt. Es ähnelt dem Mausover -Ereignis, tritt jedoch beim Ziehen auf. | Nein | Nein | |
Dragexit | ONDRAGEXIT | Feuer, wenn sich der Mauszeiger während eines Zuges von einem Element entfernen. Es wird auch nach einem Tropfen auf ein Element aufgerufen. Es ähnelt dem Mausout -Ereignis, tritt jedoch während eines Widerstandes auf. | Nein | Nein | |
Draggesture | ONDRAGURDURE | Brennt, wenn der Benutzer das Element schleppt, normalerweise durch das Maustaste und das Bewegen der Maus. | Nein | Nein | |
drüber ziehen | ONDRAGOVER | In Bezug auf das Mousemove -Ereignis wird dieses Ereignis abgefeuert, während etwas über ein Element gezogen wird. | Nein | Nein | |
Eingang | CheckBoxStatEchange | Feuert, wenn ein Kontrollkästchen entweder vom Benutzer oder eines Skripts überprüft oder deaktiviert wird. | Nein | Nein | |
Radiostatechange | Feuert, wenn ein Optionsfeld ausgewählt wird, entweder vom Benutzer oder eines Skripts. | Nein | Nein | ||
nah dran | Onclose | Feuer, wenn eine Anfrage gestellt wurde, um das Fenster zu schließen. | Nein | Ja | |
Befehl | auf Befehl | Ähnlich wie bei W3C Domactivate Ereignis. Brennt, wenn ein Element beispielsweise über einen Mausklick oder einen Tastendruck aktiviert wird. | Nein | Nein | |
Eingang | aufInput | Feuert, wenn ein Benutzer in ein Textfeld in Text eingeht. | Ja | Nein | |
Benutzeroberfläche | Dommenuitemactive | Dommenuitemactive | Brände, wenn ein Menü oder ein Menuitem ist schwebte über, oder hervorgehoben. | Ja | Nein |
Dommenuiteminactive | Dommenuiteminactive | Brände, wenn ein Menü oder Menuitem nicht mehr umgezogen oder hervorgehoben werden. | Ja | Nein | |
Kontextmenü | OncontextMenu | Fügt, wenn der Benutzer anfordert, das Kontextmenü für das Element zu öffnen. Die Aktion, dies zu tun, variiert je nach Plattform, ist jedoch in der Regel ein Rechtsklick. | Nein | Ja | |
Überlauf | Onoverflow | Feuert ein Kästchen oder ein anderes Layoutelement ab, wenn nicht genügend Platz ist, um sie in voller Größe anzuzeigen. | Nein | Nein | |
überlaufend | Onoverflowchanged | Feuert, wenn sich der Überlaufstatus ändert. | Nein | Nein | |
Unterfluss | Onderflow | Zeugt auf ein Element, wenn genügend Platz ist, um es in voller Größe anzuzeigen. | Nein | Nein | |
Popuphiden | Onpopuphidden | Feuer zu einem Popup, nachdem es versteckt wurde. | Nein | Nein | |
Popupthiding | Onpopuphiding | Feuer zu einem Popup, wenn es kurz vor dem Versteck ist. | Nein | Nein | |
Popupshowing | Onpopupshowing | Feuer zu einem Popup, kurz bevor es geöffnet wird. | Nein | Ja | |
Popupshown | Onpopupshown | Feuer zu einem Popup, nachdem es geöffnet wurde, ähnlich wie das Onload -Ereignis an ein Fenster gesendet wird, wenn es geöffnet wird. | Nein | Nein | |
Befehl | Übertragung | OnBroadcast | Auf einen Beobachter platziert. Die Sendungsveranstaltung wird gesendet, wenn die Attribute des Senders geändert werden. | Nein | Nein |
Commandupdate | oncommandupdate | Feuert, wenn ein Befehls -Update auftritt. | Nein | Nein |
Andere Ereignisse
Für Mozilla und Opera 9 gibt es auch undokumentierte Ereignisse, die als bekannt sind Domcontent geladen und DomfrAmeContent Loaded Welches Feuer, wenn der DOM -Inhalt geladen ist. Diese unterscheiden sich von "Laden", wenn sie vor dem Laden verwandter Dateien (z. B. Bilder) abfeuern. Domcontentled wurde jedoch zu dem hinzugefügt HTML 5 Spezifikation.[13] Das Domcontent -Ereignis wurde auch in der implementiert Webkit Rendering Motor Build 500+.[14][15] Dies korreliert mit allen Versionen von Google Chrome und Safari 3.1+. Domcontentload wird ebenfalls in implementiert Internet Explorer 9.[16]
Opera 9 unterstützt auch die Webformulare 2.0 Ereignisse Domcontrolvaluechanged, ungültig, Forminput und Formchange.
Ereignisfluss
Betrachten Sie die Situation, wenn zwei Ereignisziele an a teilnehmen Baum. Beide haben Event -Hörer im selben Event -Typ registriert: "Click". Wenn der Benutzer auf das innere Element klickt, gibt es zwei mögliche Möglichkeiten, es zu handhaben:
- Lösen Sie die Elemente von außen nach innerlich (Ereigniserfassung). Dieses Modell ist in implementiert in Netscape Navigator.
- Lösen Sie die Elemente von inneren nach äußerlich (Ereignis sprudeln). Dieses Modell wird in Internet Explorer und anderen Browsern implementiert.[17]
W3C nimmt eine mittlere Position in diesem Kampf ein.[18]: §1.2
Laut W3C gehen die Ereignisse drei Phasen durch, wenn ein Ereignisziel an einem Baum teilnimmt:
- Die Erfassungsphase: Das Ereignis fährt vom Root -Ereignisziel zum Ziel eines Ereignisses nach unten
- Die Zielphase: Das Ereignis führt das Ereignisziel durch
- Die Blasenphase (Optional): Das Ereignis bewegt sich vom Ziel eines Ereignisses zum Stammereignisziel zurück. Die Blasenphase tritt nur für Ereignisse auf, die Blasen (wo
Ereignis.Bubbles == True
)
Sie können eine Visualisierung dieses Ereignisflusses finden https://domevents.dev
Ereignisse stoppen
Während eine Veranstaltung durch Event -Hörer reist, kann die Veranstaltung mit gestoppt werden Event.StopPropagation ()
oder Event.StopimmediatePropagation ()
-
Event.StopPropagation ()
: Das Ereignis wird gestoppt, nachdem alle Ereignishörer, die dem aktuellen Ereignisziel in der aktuellen Ereignisphase angehängt sind -
Event.StopimmediatePropagation ()
: Die Veranstaltung wird sofort gestoppt und es werden keine weiteren Ereignishörer ausgeführt
Wenn ein Ereignis gestoppt wird, reist sie nicht mehr über den Veranstaltungspfad. Das Stoppen eines Ereignisses storniert kein Ereignis.
Legacy -Mechanismen, um ein Ereignis zu stoppen
- Setzen Sie die
Event.CancelBubble
zuStimmt
(Internet Explorer) - Setzen Sie die
Event.ReturnValue
Eigentum anFALSCH
Ereignisse stornieren
A stornierbar
Ereignis kann durch Anrufe abgesagt werden Event.PreventDefault ()
. Das Abbrechen eines Ereignisses wird das Standard -Browserverhalten für dieses Ereignis abmelden. Wenn eine Veranstaltung abgesagt wird, die Event.DefaultPrevented
Eigenschaft wird auf Stimmt
. Durch das Abbrechen eines Ereignisses wird das Ereignis nicht daran hindern, den Event -Pfad aufzuwenden.
Ereignisobjekt
Das Ereignisobjekt enthält viele Informationen zu einem bestimmten Ereignis, einschließlich Informationen zu Zielelemente, Tastendruck, Maustaste, Mausposition usw. Leider gibt es in diesem Bereich sehr schwerwiegende Browser -Inkompatibilitäten. Daher wird in diesem Artikel nur das W3C -Ereignisobjekt erörtert.
Name | Typ | Beschreibung |
---|---|---|
Typ | Domstring | Der Name des Ereignisses (Fall-unempfindlich in DOM-Stufe 2, aber Fallempfindlichkeit in DOM Level 3 [19]). |
Ziel | EventTarget | Wird verwendet, um das EventTarget anzugeben, zu dem das Ereignis ursprünglich versandt wurde. |
derzeitiges Ziel | EventTarget | Wird verwendet, um das EventTarget anzugeben, dessen EventListener derzeit verarbeitet werden. |
EventPhase | nicht signiert | Wird verwendet, um anzuzeigen, in welcher Phase des Ereignisflusses derzeit bewertet wird. |
Bläschen | Boolesche | Wird verwendet, um anzuzeigen, ob ein Ereignis ein sprudeltes Ereignis ist oder nicht. |
stornierbar | Boolesche | Wird verwendet, um anzugeben, ob ein Ereignis seine Standardaktion verhindert oder nicht. |
Zeitstempel | Domtimestamp | Wird verwendet, um die Zeit (in Millisekunden im Verhältnis zur Epoche) anzugeben, zu der das Ereignis erstellt wurde. |
Name | Argumentyp | Argumentname | Beschreibung |
---|---|---|---|
Stopppropagation | Um eine weitere Ausbreitung eines Ereignisses während des Ereignisflusss zu verhindern. | ||
Standard verhindern | Um das Ereignis zu kündigen, wenn es storniert werden kann, was bedeutet, dass keine Standardaktionen, die normalerweise von der Implementierung aufgrund des Ereignisses erfolgt, nicht erfolgen. | ||
inszenvent | Domstring | EventTypearg | Gibt den Ereignisart an. |
Boolesche | Canbubblearg | Gibt an, ob das Ereignis sprudeln kann oder nicht. | |
Boolesche | Cancelablearg | Gibt an, ob die Standardaktion des Ereignisses verhindert werden kann oder nicht. |
Event -Handling -Modelle
DOM Level 0
Dieses Modell zur Bearbeitung von Veranstaltungen wurde von vorgestellt von Netscape Navigatorund bleibt das Cross-Browser-Modell ab 2005[aktualisieren]. Es gibt zwei Modelltypen: das Inline -Modell und das traditionelle Modell.
Inline -Modell
Im Inline -Modell,[20] Ereignishandler werden als Attribute von Elementen hinzugefügt. Im folgenden Beispiel eine Warndialogfeld mit der Nachricht "Hey Joe" erscheint nach der Hyperlink wird geklickt. Die Standard -Klickaktion wird abgebrochen, indem im Ereignishandler falsch zurückgegeben wird.
<html Lang="en"> <Kopf> <Meta Charset="UTF-8"> <Titel>Inline -Event -HandhabungTitel> Kopf> <Karosserie> <H1>Inline -Event -HandhabungH1> <p>Hey <a href="http://www.example.com" ONCLICK="Triggeralert ('joe'); false zurück;">Joea>!p> <Skript> Funktion Triggeralert(Name) { Fenster.Alarm("Hey " + Name); } Skript> Karosserie> html>
Ein gemeinsames Missverständnis mit dem Inline -Modell ist die Überzeugung, dass es die Registrierung von Ereignishandlern mit benutzerdefinierten Argumenten ermöglicht, z. Name
in dem Triggeralert
Funktion. Während es so aussieht, als ob dies im obigen Beispiel der Fall ist, ist das, was wirklich passiert JavaScript -Engine des Browsers schafft eine Anonyme Funktion enthält die Aussagen in der ONCLICK
Attribut. Das ONCLICK
Der Handler des Elements wäre an die folgende anonyme Funktion gebunden:
Funktion () { Triggeralert("Joe"); Rückkehr FALSCH; }
Diese Einschränkung des JavaScript -Ereignismodells wird normalerweise überwunden, indem dem Funktionsobjekt des Ereignishandlers oder durch Verwendung Attribute zugewiesen wird Schließungen.
Traditionelles Modell
Im traditionellen Modell,[21] Ereignishandler können durch Skripte hinzugefügt oder entfernt werden. Wie das Inline -Modell kann jedes Ereignis nur einen Ereignis -Handler registrieren lassen. Das Ereignis wird hinzugefügt, indem der Handler -Name der Ereigniseigenschaft des Elementobjekts zugewiesen wird. Um einen Event -Handler zu entfernen, stellen Sie einfach die Eigenschaft auf NULL ein:
<html Lang="en"> <Kopf> <Meta Charset="UTF-8"> <Titel>Traditionelle Event -HandhabungTitel> Kopf> <Karosserie> <H1>Traditionelle Event -HandhabungH1> <p>Hallo Joe!p> <Skript> var Triggeralert = Funktion () { Fenster.Alarm("Hallo Joe"); }; // einen Ereignishandler zuweisen dokumentieren.ONCLICK = Triggeralert; // einen anderen Ereignishandler zuweisen Fenster.Onload = Triggeralert; // Entfernen Sie den gerade zugewiesenen Event -Handler, der gerade zugewiesen wurde Fenster.Onload = Null; Skript> Karosserie> html>
Zum Hinzufügen von Parametern:
var Name = "Joe"; dokumentieren.ONCLICK = (Funktion (Name) { Rückkehr Funktion () { Alarm('Hey ' + Name + '!'); }; } (Name));
Innere Funktionen bewahren ihre Umfang.
DOM Level 2
Das W3C hat ein flexibleres Modell zur Handhabung von Ereignissen in DOM Level 2 entwickelt.[18]
Name | Beschreibung | Argumentyp | Argumentname |
---|---|---|---|
AddEventListener | Ermöglicht die Registrierung von Ereignishörern auf das Ereignisziel. | Domstring | Typ |
EventListener | Hörer | ||
Boolesche | usecapture | ||
REMEDEVENTLISTENER | Ermöglicht das Entfernen von Ereignishörern aus dem Ereignisziel. | Domstring | Typ |
EventListener | Hörer | ||
Boolesche | usecapture | ||
DispatchEvent | Ermöglicht das Senden der Veranstaltung an die abonnierten Event -Hörer. | Vorfall | evt |
Einige nützliche Dinge zu wissen:
- Um zu verhindern, dass ein Ereignis sprudelt, müssen Entwickler das anrufen
StopPropagation ()
Methode des Ereignisobjekts. - Um die Standardaktion des zu rufenden Ereignisses zu verhindern, müssen Entwickler die aufrufen
Standard verhindern()
Methode des Ereignisobjekts.
Der Hauptunterschied zum traditionellen Modell besteht darin, dass mehrere Ereignishandler für dasselbe Ereignis registriert werden können. Das usecapture
Die Option kann auch verwendet werden, um anzugeben, dass der Handler in der Erfassungsphase anstelle der sprudelnden Phase aufgerufen werden sollte. Dieses Modell wird von unterstützt von Mozilla, Oper, Safari, Chrom und Konqueror.
Ein Umschreiben des Beispiels im traditionellen Modell
<html Lang="en"> <Kopf> <Meta Charset="UTF-8"> <Titel>DOM Level 2Titel> Kopf> <Karosserie> <H1>DOM Level 2H1> <p>Hallo Joe!p> <Skript> var Hallo Joe = Funktion () { Fenster.Alarm("Hallo Joe!"); } // einen Event -Handler hinzufügen dokumentieren.AddEventListener( "klicken", Hallo Joe, Stimmt ); // Erfassungsphase // fügen Sie einen anderen Event -Handler hinzu Fenster.AddEventListener( "Belastung", Hallo Joe, FALSCH ); // sprudelnde Phase // Entfernen Sie den gerade hinzugefügten Event -Handler Fenster.REMEDEVENTLISTENER( "Belastung", Hallo Joe, FALSCH ); Skript> Karosserie> html>
Internet Explorer-spezifisches Modell
Microsoft Internet Explorer vor Version 8 folgt dem W3C -Modell nicht, da sein eigenes Modell vor der Ratifizierung des W3C -Standards erstellt wurde. Internet Explorer 9 folgt DOM Level 3 -Ereignissen.[22] und Internet Explorer 11 löscht seine Unterstützung für das Microsoft-spezifische Modell.[23]
Name | Beschreibung | Argumentyp | Argumentname |
---|---|---|---|
Anhang | Ähnlich wie die AddEventListener -Methode von W3C. | Saite | Sieber |
Zeiger | fpnotify | ||
Ablösung | Ähnlich wie bei der REME -EVentListener -Methode von W3C. | Saite | Sieber |
Zeiger | fpnotify | ||
FireeEvent | Ähnlich wie die DispatchEvent -Methode von W3C. | Saite | Sieber |
Vorfall | oeventObject |
Einige nützliche Dinge zu wissen:
- Um ein Ereignis zu verhindern, müssen Entwickler die Veranstaltung festlegen
CancelBubble
Eigentum. - Um die Standardaktion des zu rufenden Ereignisses zu verhindern, müssen Entwickler die Ereignis festlegen
Rückgabewert
Eigentum. - Das
Dies
Schlüsselwort bezieht sich auf die globaleFenster
Objekt.
Auch dieses Modell unterscheidet sich vom traditionellen Modell, da mehrere Ereignishandler für dasselbe Ereignis registriert werden können. Jedoch das usecapture
Die Option kann nicht verwendet werden, um anzugeben, dass der Handler in der Erfassungsphase aufgerufen werden sollte. Dieses Modell wird von Microsoft unterstützt Internet Explorer und Dreizackbasierte Browser (z.B. Maxthon, Avantbrowser).
Ein Umschreiben des Beispiels im alten Internet Explorer-spezifischen Modell
<html Lang="en"> <Kopf> <Meta Charset="UTF-8"> <Titel>Internet Explorer-spezifisches ModellTitel> Kopf> <Karosserie> <H1>Internet Explorer-spezifisches ModellH1> <p>Hallo Joe!p> <Skript> var Hallo Joe = Funktion () { Fenster.Alarm("Hallo Joe!"); } // einen Event -Handler hinzufügen dokumentieren.Anhang("Onclick", Hallo Joe); // fügen Sie einen anderen Event -Handler hinzu Fenster.Anhang("Onload", Hallo Joe); // Entfernen Sie den gerade hinzugefügten Event -Handler Fenster.Ablösung("Onload", Hallo Joe); Skript> Karosserie> html>
Verweise
- Deitel, Harvey. (2002). Internet und World Wide Web: Wie man programmiert (Zweite Ausgabe). ISBN0-13-030897-8
- Die Mozilla -Organisation. (2009). DOM -Ereignisreferenz. Abgerufen am 25. August 2009.
- Quirksmodode (2008). Ereigniskompatibilitätstabellen. Abgerufen am 27. November 2008.
- http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-iphone/
Externe Links
- Dokumentobjektmodell (DOM) Level 2 Ereignisspezifikation
- Dokumentobjektmodell (DOM) Level 3 Ereignisse Arbeitsentwurf
- DOM4: Ereignisse (Entwurf des Herausgebers)
- UI -Ereignisse arbeiten Entwurf
- Zeigerereignisse W3C -Kandidatenempfehlung
- MSDN Pointervent
- DomeVents.dev - Ein Visualizer, der durch Erkundung etwas über DOM -Ereignisse erfahren kann
- JS Gummie zum Ereignis, der sprudelt und gefangen genommen wird
Verweise
- ^ "DOM Standard". Dom.spec.whatwg.org. Abgerufen 2021-05-25.
- ^ "JavaScript DOM -Ereignisse". www.w3schools.com. Abgerufen 2019-08-03.
- ^ "7,8 Drag and Drop - HTML5".
- ^ "HTML Drag & Drop API".
- ^ "Fortschrittsereignisse".
- ^ "Datei -API".
- ^ "Element: Mousemove Ereignis - Web -APIs | Mdn".
- ^ "Dokumentobjektmodell (DOM) Stufe 3 Ereignisspezifikation (Arbeitsentwurf)". W3c. Abgerufen 2013-04-17.
- ^ a b c "Touch Events Version 2 - W3C Editor Entwurf". W3c. 14. November 2011. Abgerufen 10. Dezember 2011.
- ^ "Apple verwendet Patente, um wieder offene Standards zu untergraben". Opera.com. 9. Dezember 2011. Abgerufen 9. Dezember 2011.
- ^ "Zeigerereignisse".
- ^ "Indieui: Events 1.0".
- ^ "HTML Standard".
- ^ [1] Archiviert 11. Juni 2010 bei der Wayback -Maschine
- ^ "Welche Browser unterstützen native Domcontent -Ereignisse?« Perfection Labs Development Tipps ". 29. Juni 2011. Archiviert vom Original am 29. Juni 2011.
{{}}
: CS1 Wartung: Bot: Original -URL -Status unbekannt (Link) - ^ "Test Laufwerk umleiten". Archiviert von das Original Am 2010-05-08. Abgerufen 2010-05-06.
- ^ "Einführung in Ereignisse". Quirksmodode.org. Abgerufen 15. September 2012.
- ^ a b "Dokumentobjektmodell (DOM) Stufe 2 Ereignisspezifikation". W3c. 13. November 2000. Abgerufen 15. September 2012.
- ^ "Dokumentobjektmodell (DOM) Stufe 3 Ereignisspezifikation (Arbeitsentwurf)". W3c. Abgerufen 2013-04-17.
- ^ "Frühe Event -Handler". Quirksmodode.org. Abgerufen 15. September 2012.
- ^ "Traditionelles Ereignisregistrierungsmodell". Quirksmodode.org. Abgerufen 15. September 2012.
- ^ "DOM Level 3 -Veranstaltungen unterstützen in IE9". Microsoft. 26. März 2010. Abgerufen 2010-03-28.
- ^ "Kompatibilitätsänderungen in der IE11 -Vorschau". Microsoft. 9. September 2013. Abgerufen 2013-10-05.