klawischnigg: Aufrufende Variable im Objekt ermitteln

Beitrag lesen

Hi there,

Du willst also in dem Objekt, welches von irgendEineVariable referenziert wird, den Variablennamen wissen? Das klingt wirklich sehr verschrägt, wäre meines Wissens aber nur so lösbar:

var irgendEineVariable = new irgendEinObjekt("irgendEineVariable");

Du hast das Problem sehr schön erkannt, und an diese Lösung hab ich auch schon gedacht, wahrscheinlich geht's eh nicht eleganter.

Natürlich muss der Konstruktor diesen übermittelten Wert auch sinnvoll weiter verarbeiten. Nur was daran "sinnvoll" sein soll, verstehe ich nicht.

Ich würd' das für einen Eventhandler im Objekt benötigen...

Mich beschleicht der Verdacht, dass Du mit einer sehr indirekten Vorgehensweise etwas zu lösen versuchst, das sich bestimmt sehr direkt und einfacher lösen lässt.

Naja, "irgendEinObjekt" ist eine Konstruktorfunktion, die ein JS-Window erzeugt, und die eine Funktion "closeWindow()" beinhaltet, die dieses Window mit allem, was darin dargestellt wird, löscht. Zusätzlich generiert diese Funktion auch einen Button, der die "closeWindow()"-Funktion aufruft. Und genau da fangen meine Probleme an - mit button.addEventlistener('click',closeWindow) funktionierts klarerweise nicht, weil der Kontext falsch ist, mit button.addEventlistener('click',this.closeWindow) geht's auch nicht, weil sich "this" in dem Fall auf den Button und nicht auf das Objekt bezieht. Richtig wäre natürlich button.addEventlistener('click',irgendEineVariable.closeWindow), aber irgendEineVariable hab ich wieder in dem Kontext nicht zur Verfügung. Es wäre ganz einfach, den Eventhandler nach dem Erzeugen des Objekts anzuhängen, aber genau das möchte ich eben nicht, weil das Erzeugen des Schliessen-Buttons mit all seinen Funktionen resp. Funktionalitäten eine Methode von "irgendEinObjekt" bleiben soll...