Witam,
pisząc skrypty natknąłem sie na denerwujący problem. Podam przykład:
w pliku js mam:
funkcję:
id(){}
obiekt:
A = function(){} //konstruktor
A.prototype.id='value'; //przykładowy string
A.prototype.funkcyjka = function(){alert(id);}
A.prototype.dodajEvent = function(){
document.body.attachEvent('onclick', this.funkcyjka);
}
taki skład mamy i teraz na stronce html w <script></script> piszemy sobie:
var costam = new A();
costam.dodajEvent();
i tera sprawdzamy:
costam.funkcyjka(); wyświetli 'value'
a kliknięcie które wywoła akcje onclick wyświetli treść funkcji id :-/
czyli jak dobijam sie do zmienna.metoda() this rzutuje na zmienną
a przez eventa this rzutuje na podstawową płaszczyzne całego kodu.
Zeby poprawnie działało drugie sprawdzenie trzeba w funkcyjka napisać: alert(this.costam.id);
a taki zapis jest raczej bezsensem.
Proszę o pomoc.