Don P: JavaScript und this

Beitrag lesen

Hallo,

Jetzt möchte ich aber methode1 als event handler für ein eigenes event nutzen.

Problem ist nun, dass this in methode1 nicht mehr auf obj zeigt, sondern irgendwo anders hin.

Nicht "irgendwo anders hin", sondern bei Eventhandlern zeigt this immer auf das Objekt, das den Event auslöst:

element.onclick = obj.methode1; // "this" in Methode1 ist das element

Kriegt man diese Problem gelöst?

Wenn du von Methode1 aus immer auf Methode2 desselben Objekts zugreifen willst, kannst du z.B. der Methode das Objekt als Parameter mitgeben:

MyClass.prototype =  
{  
   methode1: function(obj)  
   {  
      obj.methode2();  
   },  
  
   methode2: function()  
   {  
   }  
};

var obj = new MyClass();
obj.methode1(obj);

Mir ist aber nicht ganz klar, was du eigentlich erreichen willst. Wozu brauchst du Klasse MyClass? Das macht nur Sinn, wenn du mehrere solche Objekte erzeugen willst. Und wozu genau dient die Funktion raiseMyEvent? Es ist anscheinend eine Methode irgend eines anderen Objekts. Das hast du aber nicht notiert. Was ist dass denn für ein Objekt und wie soll das dann konkret funktionieren?

Gruß, Don P