molily: OOP: Event an Member-Variable hängen?

Beitrag lesen

Hallo,

kann man an eine Member-Variable ein onchange Event hängen, sodass eine Funktion ausgeführt wird, wenn sich die Variable ändert. Ich vermute jedoch, die Antwort ist nein.

ECMAScript 5 kennt Getter und Setter:
http://www.peterkroener.de/ecmascript-5-die-nachste-version-von-javascript-teil-3-property-descriptors-getter-und-setter-funktionen/
http://molily.de/weblog/ecmascript5#property-descriptors-2

Ältere Browser unterstützen z.T. andere Syntaxen für Getter und Setter (defineSetter bzw. die mit ES5 ebenfalls standardisierte get/set in Object-Literalen). Dennoch lassen sich nicht alle Browser abdecken, der Internet Explorer < 9 kennt diese Schreibweisen nicht.

Wie schon immer kannst du natürlich eigene Setter-Methoden anstatt von Eigenschaften verwenden, also eine Methode namens setFoo statt bloß eine Eigenschaft foo. Zudem kannst du dir ein Event-Listening bauen, sodass du Handler-Funktionen für das Ereignis der Änderung registrieren kannst. Beim Aufruf der Funktion kannst du die Handler dann auslösen. Mit ES5-Settern ist das natürlich noch einfacher.

Mathias