Heim > Artikel > Web-Frontend > Ausführliche Erläuterung des JavaScript-Ereignismodells, der Objekte, der Überwachung und der Codebeispiele für die Zustellung
1. Ereignismodell
Bubbling-Ereignis (Bubbling): Ereignisse werden von Blattknoten entlang der Vorgängerknoten bis zum Wurzelknoten weitergeleitet
Erfassungsereignis (Capturing). ): Vom obersten Element des DOM-Baums bis zum präzisesten Element, im Gegensatz zu Bubbling-Ereignissen
DOM-Standard-Ereignismodell: Der DOM-Standard unterstützt sowohl Bubbling-Ereignisse als auch Capture-Ereignisse, was als eine Kombination davon bezeichnet werden kann 2. , zuerst der Erfassungstyp und dann die zu übergebenden Blasen
2. Ereignisobjekt
Im IE-Browser ist das Ereignisobjekt ein Attribut des Fensters . Im DOM-Standard muss das Ereignis als einziger Parameter an die Ereignisverarbeitungsfunktion
übergeben werden, um ein kompatibles Ereignisobjekt zu erhalten:
function(event){ //event 是作为DOM标准的参数传入处理函数 event = event ?event : window.event; }
Im IE ist das Ereignisobjekt im srcElement des Ereignisses enthalten, und im DOM-Standard ist das Objekt im Zielattribut
enthalten, um das Element zu erhalten, auf das das kompatible Ereignisobjekt zeigt:
var target =event.srcElement ? event.srcElement : event.target ;
vorausgesetzt, dass sichergestellt wird, dass das Ereignisobjekt korrekt abgerufen wurde
3. Ereignis-Listener
Unter IE sind die registrierten Listener in umgekehrter Reihenfolge ausgeführt, d. h. die später registrierten werden zuerst ausgeführt
element.attachEvent('onclick',observer); //注册监听器 element.detachEvent('onclick',observer) //移除监听器
Der erste Parameter ist der Ereignisname und der zweite Parameter ist die Callback-Handler-Funktion
Unter DOM-Standard:
element.addEventListener('click',observer,useCapture) element.removeEventListener('click',observer,useCapture)
Der erste Parameter ist der Ereignisname ohne das Präfix „on“, der zweite Parameter ist die Callback-Verarbeitungsfunktion , und der dritte Parameter gibt an, ob die Rückruffunktion in der Erfassungsphase oder der Bubbling-Phase aufgerufen wird, der Standardwert gilt für die Erfassungsphase
4. Ereigniszustellung
Brechen Sie die Ereigniszustellung des Browsers kompatibel ab
function someHandler(event){ event = event || window.event; if(event.stopPropagation) //DOM标准 event.stopPropagation(); else event.cancelBubble = true; //IE标准 }
Brechen Sie die Standardverarbeitung nach der Ereigniszustellung ab
function someHandler(event){ event = event || window.event; if(event.preventDefault) //DOM标准 event. preventDefault (); else event.returnValue = true; //IE标准 }
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des JavaScript-Ereignismodells, der Objekte, der Überwachung und der Codebeispiele für die Zustellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!