Dieser Artikel beschreibt die Verwendung des JavaScript -Ereignismodells. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
1. Ereignismodell
Bubeln: Ereignisse werden von Blattknoten entlang des Vorfahrenknotens bis zum Wurzelknoten nach oben übergeben.
Erfassen: Vom oberen Element des Dom -Baums bis zum genauesten Element gegenüber dem Blasenereignis
DOM-Standard-Ereignismodell: Der DOM-Standard unterstützt sowohl Bubble-Ereignisse als auch Ereignisse vom Typ Capture. Es kann gesagt werden, dass es sich um eine Kombination der beiden handelt, zunächst ein Capture-Typ und dann eine Blasenübertragung.
2. Ereignisobjekt
Im IE -Browser ist das Ereignisobjekt eine Eigenschaft des Fensters. Im DOM -Standard muss das Ereignis als eindeutiger Parameter an die Ereignisverarbeitungsfunktion übergeben werden.
Erhalten Sie ein kompatibles Ereignisobjekt:
Funktion (Ereignis) {// Ereignis ist eine Verarbeitungsfunktion, die als Parameter des DOM -Standard -Ereignisses übergeben wurde. Ereignis? Ereignis: window.event; }In IE ist das Objekt des Ereignisses in der Srcelement des Ereignisses enthalten, während im DOM -Standard das Objekt in der Zieleigenschaft enthalten ist
Erhalten Sie das Element, auf das ein kompatibles Ereignisobjekt angezeigt wird:
var target = event.srcelement? event.srcelement: event.target;
Die Prämisse besteht darin, sicherzustellen, dass das Ereignisobjekt korrekt erhalten wurde
3. Event -Hörer
Unter IE wird der registrierte Hörer in umgekehrter Reihenfolge ausgeführt, dh der registrierte Hörer wird zuerst ausgeführt.
Element.attachevent ('Onclick', Beobachter); // Listener -Element registrieren.Der erste Parameter ist der Ereignisname, und der zweite ist die Rückrufverarbeitungsfunktion
Unter Dom Standard:
element.addeventListener ('klicken', Beobachter, usecapture) element.removeEventListener ('Click', Observer, Usecapture)Der erste Parameter ist der Ereignisname ohne das Präfix von "On", der zweite Parameter ist die Rückrufverarbeitungsfunktion, und der dritte Parameter zeigt an, ob die Rückruffunktion in der Erfassungsstufe oder in der Blasenstufe aufgerufen wird. Der Standard -True ist die Erfassungsstufe
4. Ereignislieferung
Ereignislieferung im Browserkompatibel abbrechen
Funktion SOLHANDLER (Ereignis) {Ereignis = Ereignis || Fenster.Event; if (Event.StopPropagation) // DOM Standard Event.StopPropagation (); sonst event.cancelBubble = true; // dh Standard}Stornieren Sie die Standardverarbeitung nach der Ereigniszustellung
Funktion SOLHANDLER (Ereignis) {Ereignis = Ereignis || Fenster.Event; if (Event.PreventDefault) // Dom Standard -Ereignis. vorabdefault (); sonst event.returnValue = true; // dh Standard}Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.