Hallo Forumler,
ich hätte mal 'ne Frage zu selbstdefinierten Objekten und Eventhändlern in JS.
Der Einfachheit halber führe ich hier nur die IE-Variante an. Ich denke unter W3C-Bedingungen dürfte eine Lösung meines Problems ähnlich aussehen.
Ich habe also in JS eine Klasse geschrieben, deren Methode A über das Eventobjekt die Methode B des selben Objektes aufruft. In der 2. Methode kann ich "this" leider nicht mehr anwenden, sondern muss explizit den Namen der Objektinstanz nennen. Wie kann ich das umgehen?
---------------
Beispiel (Klickt man auf die leere Seite, erhaelt man 2 Alert-Fester.):
function Meine_Klasse ()
{
this.argument_1 = 1;
this.argument_2 = 2;
this.methode_A = methode_A;
this.methode_B = methode_B;
};
function methode_A ()
{
document.onclick = this.methode_B;
};
function methode_B ()
{
alert (this.argument_1); // Dieses Argument wird nicht uebergeben werden!
alert (Versuchsobjekt.argument_1); // Diese Variante funktioniert jedoch.
};
Versuchsobjekt = new Meine_Klasse;
Versuchsobjekt.methode_A ();
-------------------
Wer weiß eine Lösung ohne in Methode B die Objektinstanz zu nennen? Ich möchte auch nicht gerne globale Variablen verwenden, die die Kapselung meines Objektes ad absurdum führen würde.
Im vorhinein herzlichen Dank.
Ciao
Liza