Manöverkritik: OOP in JS
bearbeitet von Rolf BHallo JürgenB,
da wird keine Methode definiert. Da wird ein Objekt erzeugt, das die [EventListener-Schnittstelle](https://dom.spec.whatwg.org/#interface-eventtarget) implementiert. Das ist Technik von anno Tobak, wie ich [hier](https://forum.selfhtml.org/self/2021/nov/24/manoverkritik-oop-in-js/1793949#m1793949) schon schrub und die Relevanz befragte.
Dieses Objekt kann dann von einem Nutzer des Objekts verwendet werden, um ein click-Event von diesem Objekt behandeln zu lassen. Was ich in der gezeigten Form architektonisch missbillige und im oben verlinkten Beitrag ebenfalls schreibte.
Im übrigen verhält sich der Ablauf **fast** genauso, als ob man eine Funktion als Event Listener verwenden würde, d.h. was mit dem Rückgabewert gemacht wird, steht nicht in der Spec. Aber traditionell, aus Zeiten vor DOM Level 2, wird return false wie event.preventDefault() behandelt. Meine ich...
Es ist **fast** genauso, weil das `this` unterschiedlich ist. Ein Funktions-Eventlistener bekommt event.currentTarget als this und ein Objekt-Eventlistener bekommt das Objekt als this.
Quelle: [DOM Spec](https://dom.spec.whatwg.org/#dispatching-events), inner invoke Schritt 10, und dann [WebIDL Spec](https://webidl.spec.whatwg.org/#call-a-user-objects-operation), Schritt 9 und 10.
_Rolf_
--
sumpsi - posui - obstruxi