1. Originalereignismodell
Seine Ereignisstypen: Unterteilt in "Eingabeereignisse (wie Onclicki)" und "semantische Ereignisse (wie Onsubmit)" "
Die Registrierung von Veranstaltungsprogrammen kann auf folgende Weise durchgeführt werden:
1. JS -Code als HTML -Eigenschaftswert
Die Codekopie lautet wie folgt: <Eingabe type = "button" value = "drücken Sie mich" onclick = "alert ('Danke');"
2. Ereignishandler als JS -Attribut
Hinweis: Jedes HTML -Element im Dokument verfügt über ein entsprechendes JS -Objekt im Dokumentbaum. Die Attribute dieses JS -Objekts entsprechen den Eigenschaften dieses HTML -Elements. Egal, ob es sich um den JS -Code der HTML -Natur oder der Zeithandler von JS -Attributen handelt, ihre eigenen Attribute sind die Funktion "Funktion".
Kopieren Sie den Code wie folgt: <Formular name = "f1">
<Eingabename = "B1" Typ = "Taste" value = "Drücken Sie mich"/>
</form>
Die erste Zuordnungsmethode:
Die Codekopie lautet wie folgt: document.f1.b1.onclick = function () {alert ('Danke');};
Die zweite Zuordnungsmethode:
Die Codekopie lautet wie folgt: Funktion Plead () {window.status = "Bitte drücken Sie mich!";}
document.f1.bi.onmouseover = plädieren;
Ereignishandler als JS -Attribute können mit JS -Attributen ausdrücklich aufgerufen werden
Die Codekopie lautet wie folgt: document.myfrom.onsubmit ();
Der Ereignishandler kann FALE zurückgeben, um zu verhindern, dass der Browser die Standardaktionen von Ereignissen ausführt, häufig verwendete Operationen wie Onsubmit. Die Ausnahme ist
Die Blockierung des Fensters.Status -Anzeigeereignisses des Hyperlink -Mausovers ist die Rückkehr. Zum Beispiel:
Kopieren Sie den Code wie folgt: <a href = "help.htm" onmouseover = "window.status = 'help'; return true;"> Hilfe </a>
2. DOM2 -Ereignismodell
Dieses Modell wird unter Bezugnahme auf das IE -Blasenmodell formuliert, eine von W3C formulierte Spezifikation. Im Originalmodell wird der Ereignisgriff direkt aufgerufen, sobald ein Ereignis auftritt, und es gibt keinen anderen Ereignisausbreitungsprozess. Im DOM2 -Modell haben Ereignisse einen speziellen Ausbreitungsverfahren, der in drei Phasen unterteilt ist:
(1) Erfassungsphase: Das Ereignis wird vom Dokument in das Zielelement ausgegeben. Während dieses Prozesses können Sie Ihre eigene Verarbeitungsfunktion registrieren, wenn ein Vorfahrelement an der Veranstaltung interessiert ist.
(2) Zielphase: Das Ereignis erreicht das Zielelement und führt die Funktion zur Ereignishandhabung des Zielelements aus.
(3) Blasenphase: Die Ereignisse steigen aus dem Zielelement bis zum Dokument. Obwohl alle Ereignisstypen die Captrue -Phase -Phase durchlaufen, werden nur einige Ereignisse in der Phase der Blasenphase durchlaufen, beispielsweise wird das Submit -Ereignis nicht schwebt.
Während des gesamten Ereignisausbreitungsprozesses kann Ereignis.StopPropagation () aufgerufen werden, um die Ereignisausbreitung zu stoppen, und die Verhinderung () () kann aufgerufen werden, um das Standardverhalten des Browsers zu blockieren.
Die Codekopie lautet wie folgt: AddEventListener ("EventType", "Handler", "True! False");
removentListner ("eventType", "Handler", "wahr! Falsch");
Dh Modell
Das IE -Modell bietet auch ein Ereignisobjekt, das die detaillierten Informationen des Ereignisses zusammenfasst, aber der IE übergibt das Objekt nicht in die Ereignishandhabungsfunktion. Da es zu jeder Zeit nur ein Ereignis geben wird, betrachtet es dies als Attribut des globalen Objektfensters. Der Ereignisausbreitungsmodus im IE entspricht der zweiten und dritten Phase von DOM2. Zuerst wird die Verarbeitungsfunktion des Zielelements ausgeführt, und dann erreicht der Upload das Dokument. In IE können nur Mausereignisse erfasst werden. Alle Ereignisse können in DOM2 erfasst werden. Die Methode zum Registrieren und Löschen von Ereignisbearbeitungsfunktionen im IE unterscheidet sich ebenfalls von DOM2.
Die Registrierung und Löschung von Event -Handlern erfolgt über den Anhang des Elements ("EventType", "Handler") und die Abteilung ("EventType", "Handler"). Im Gegensatz zu DOM2 hat EventType ein Präfix
Merkmale:
1. Der Ausbreitungsprozess sprudelt nur und erfasst ihn nicht. Methode zum Unterbrechen von Blasen:
window.ecent.cancelBubble = true;
2. Das Ereignisobjekt ist kein Funktionsparameter des Ereignishandlers, sondern eine globale Variable des Fensters.
3.. Ereignisregistrierungsfunktionen: AttafEvent () und Anti-Registrierung: Abteilung ().
4. Netscape4 -Ereignismodell
Da Netscape anscheinend vollständig aufgehört zu haben scheint, sich zu entwickeln, werde ich es nicht im Detail erklären. Einfach ausgedrückt, es fängt einfach und sprudelt nicht.
Das obige ist eine grundlegende Einführung in das JavaScript -Ereignismodell. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.