Objekt aus jQuery-Code aufrufen
    
ScaraX
    
    
      
    
  - javascript
 nicht angemeldet
 nicht angemeldetHallo
ich habe folgendes Problem:
Ich habe ein Objekt, in dem in einer Methode ein jQuery-Block ausgeführt wird.
das Ganze sieht in etwa so aus:
  
function myClass()  
{  
   this.data = 'test';  
   methode = new function()  
   {  
      $('drop').droppable({  
         drop: function(ui,e) {  
  
           HIER MÖCHTE ICH AUF 'this.data' von myclass zugreifen, aber wie?  
           mit this.data funktioniert das nicht, mit myclass.data auch nicht :(  
         }  
      });  
   }  
}  
  
myclass = new myClass;  
//alternativ  
var myclass = new myClass  
Ich hoffe ich wisst was ich meine ;)
Danke schonmal
MfG
ScaraX
statt
methode = new function()
heißt es natürlich
this.methode = new function()
Hallo,
function myClass()
{
Hier legst du eine lokale Variable an, in der eine Referenz auf das Instanzobjekt gespeichert wird:
var instanz = this;
this.data = 'test';
methode = new function()
{
$('drop').droppable({
drop: function(ui,e) {HIER MÖCHTE ICH AUF 'this.data' von myclass zugreifen
Hier ist durch die Verschachtelung der Funktionen die besagte Variable verfügbar:
instanz.data
http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#methoden-eigener-objekte-und-kontext
http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#closures
Übrigens ist "new function () {}" etwas ganz anderes als "function () {}"!
Wenn du den Unterschied nicht verstehst, willst du mit großer Wahrscheinlichkeit letzteres - nämlich einfach eine Funktion erzeugen und in this.methode speichern. new function () {...} hingegen erzeugt ein Funktionsobjekt und benutzt es als Konstruktor. Das Ergebnis dieses Ausdrucks ist ein Object (in deinem Fall vermutlich leer), kein Funktionsobjekt.
Mathias