Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung des JavaScript-Ereignismodells, der Objekte, der Überwachung und der Codebeispiele für die Zustellung

Ausführliche Erläuterung des JavaScript-Ereignismodells, der Objekte, der Überwachung und der Codebeispiele für die Zustellung

伊谢尔伦
伊谢尔伦Original
2017-07-22 17:18:091590Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn