Funktionsweise von Events

Pseudocode:

Codeclass EventTarget {
  listener = [];
  function addEventListener(type, handlerFct){
    listener.push({type, handlerFct});
  }
  function onEvent(type, eventInfos){
    foreach(l of listener){
      if(l.type == type){
        l.handlerFct(eventInfos)
      }
    }
  }
}
  • das EventTarget stellt Funktionalität zum Behandeln von Events zur Verfügung
  • onEvent wird von der JavaScript Engine aufgerufen, wenn das entsprechende Event auftritt
  • Handler, die sich für das Ereignis registriert haben (per addEventListener), werden aufgerufen
  • dem Handler werden Informationen über das Event in Form eines Objektes übergeben

Event Queue

  • Alle Events, für die Handler Funktionen am Event Target registriert wurden, werden in eine Warteschlange eingereiht, wenn das Event auftritt.
  • Die Warteschlange wird der Reihenfolge nach abgearbeitet.
  • weitere Details