molily: Event für Änderung einer Select-Liste

Beitrag lesen

for (i = 0; i < allMyElements.length; i++) {
  (function () {
    var element = allMyElements[i];
    element.onappend = function () {
      onappend.apply(element, arguments);
    };
  })();
}

Das ist zwar ein schönes Theorie-Beispiel zum Thema Closures & Schleifen, aber so würde man das in der Praxis natürlich nicht machen - selbst wenn das Binding nötig ist, weil die Gefahr besteht, dass die Funktion irgendwann nicht über element.onappend() aufgerufen wird.

Dann lagert man diese absurd komplizierte doppelte Closure-Erzeugung aus in eine allgemeine bind-Methode. Die gehört mit dem kommenden ECMAScript 5 übrigens zum Standardumfang von JavaScript.

for (... allMyElements ...) {
   element.onappend = onappend.bind(allMyElements[i]);
}

Mathias