molily: this als Parameter bei Funktionen

Beitrag lesen

Allerdings find ich es umständlich, bei jedem Aufruf das this mitzugeben. Kann man dieses nicht auch innerhalb der Funktion ermitteln?

Du könntest höchstens alternativ das Event-Objekt übergeben, damit hast du letztlich auch mehr Kontrolle in der Funktion.

Allgemein: Wenn du dutzende Event-Handler mit solchen Aufrufe hast:

meineFunc('a', this);

meineFunc('b', this);

meineFunc('c', this);

So solltest du über eine effizientere Möglichkeit nachdenken, um diese Events zu behandeln. Vielleicht kann hier Event-Delegation helfen, oder das Erzeugen dieser Funktionen mit einer weiteren Funktion:

elementA.onclick = makeFunc('a');  
elementB.onclick = makeFunc('b');  
elementC.onclick = makeFunc('c');  
  
function makeFunc (type) {  
  return function (e) {  
    meineFunc(this, e);  
    // Oder meineFunc.call(this, e), damit this auch in meineFunc weiter auf das Element zeigt  
  }  
}

Das ist im Grunde Function-Binding, dazu gibt es in ECMAScript 5 (d.h. in neueren Browsern) eine Helferfunktion.

Mathias