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