Oppure

Loading
14/10/12 3:02
Roby94
Salve, mi trovo in una situazione in cui ho sviluppato una classe mediante
function c(n, y) {
	this.y=y;
	this.m=1;
	this.d=1;
	this.n=n;

//e relativi metodi

}	

Sono stao obbligato ad inserire all'interno della stessa classe una porzione di codice jQuery
function c(n, y) {
	this.y=y;
	this.m=1;
	this.d=1;
	this.n=n;
	
        $("element").click(function(e) {
                console.log(this.name);//undefined
        });

//e relativi metodi

}

Pero dall'interno della funzione jQuery non riesco ad accedere alle varibaili della classe padre in quanto this punta agli elementi selezionati da $("element";). Normalmente si passerebbe l'istanza come argomento della sub funzione ma in questo caso non posso e comunque non mi piace molto come soluzione. Che posso fare? Esiste una qualche specie di funzione parent? Google questa volta non ha saputo aiutarmi :(
aaa
14/10/12 8:28
Qwertj
Assegna this a una variabile di appoggio che ha scope anche nella function che passi a click
function c(n, y) {
        this.y=y;
        this.m=1;
        this.d=1;
        this.n=n;
 
       var me = this;
        $("element").click(function(e) {
                console.log(me.name);//undefined
        });
 
 
}
aaa
14/10/12 9:38
Roby94
Ok è una soluzione, ma se ho piu istanze della classe quella variabile non va a sovrascriversi?

Edit:
Adesso che me l'hai detto pure tu ho provato e in effetti funziona in quanto la variabile non è globale visto che è istanziata nall'interno della classe.
Ultima modifica effettuata da Roby94 14/10/12 11:41
aaa