![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 11.05.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mój kod wygląda mniej więcej tak:
Kod function Class() { this.foo1=1; this.foo2=2; this.Init=function() { // create HTML and append to DOM here this.AddListeners(); } this.AddListeners=function() { $('get existing element right').click() { console.log('test'); this.DoSome(); // (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! } } this.DoSome=function() { console.log(this.foo2); } } var object=new Class(); object.Init(); Oczywiśćie funkcja DoSome() nie jest wywoływana. Na wyjściu konsoli wypisuje się 'test' więc skrypt wchodzi do .click(){} ale nie widzi funkcjki DoSome().. Domyślam się że jest to związane z przestrzeniami nazw. Ale za Chiny ludowe nie potrafię sobie z tym poradzić. Ktoś wie jak obejść ten problem ? Ten post edytował webcitrn 19.09.2008, 11:11:54 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
this w obrebie $(twoichobiektow) dotyczy sie tych obiektow a nie this klasy
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 11.05.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ale ja wiem że tak jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tylko nie wiem jak się dsstać jakby do klasy na rzecz której obiektu jest wywoływana funkcja (w tym przypadku .click()) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )) Nie ma w JS czegoś w rodzaju parent itp ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) czytałem o pseudoskładowej .caller ale nic nie dała..
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
tak na szybko
Kod function Class() { this.foo1=1; this.foo2=2; var dis = this; this.Init=function() { // create HTML and append to DOM here this.AddListeners(); } this.AddListeners=function() { $('get existing element right').click() { console.log('test'); dis.DoSome(); // ! } } this.DoSome=function() { console.log(this.foo2); } } (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.09.2025 - 03:40 |