molily: Eventhandler dynamisch hinzufügen

Beitrag lesen

Hallo,

function List(node) {
  this.node = node;
  this.node.onchange = this.changed;
}

List.prototype.changed = function() {
  alert(this.node);
}

this scheint vielmehr auf das Objekt zu zeigen, welches das Event ausgelöst hat.

Das ist richtig.

Wie benachrichtige ich nun aber das Objekt, welches den EH eingetragen hat von seiner Auslösung?

Nur über einen Umweg: Hänge dem Elementobjekt eine Eigenschaft an, die auf das entsprechende ListBox-Objekt verweist. In der Event-Handler-Funktion kann über diese Eigenschaft auf das ListBox-Objekt zugegriffen werden.

function List (node) {
  this.node = node;
  node.List = this;
  this.node.onchange = this.changed;
}
List.prototype.changed = function () {
  alert(this.List.node);
};

Mathias