![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 1.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam taką sytuację
Kod A=function(){ this.mA=false; . . d.onclick=onM;//d to DIV function onM(e){ . . if(this.mA) doSth();//gdzieś na zewnątrz } } teraz np. tak var obA=new A(); obA.mA=true; i klikam Kliknięcie Diva nie wywoła funkcji doSth(); ponieważ this zawiera obiekt HTMLDivElement a nie kontekst obiektu klasy A. Macie jakieś sugestie jak dostać się do kontekstu swojego obiektu z wnętrza obsługi zdarzenia? Szperając w sieci znalazłem możliwe rozwiązanie a mianowicie tu . Problem w tym, że opisywany przez autora Button to element HTML a więc taki, który posiada obsługę np. onclick a moja klasa nie. Należało by więc stworzyć klasę A w oparciu o klasę HTML a najlepiej DIV ale jak one się nazywają bo próba z HTMLDivElement nie powiodła się. Ewentualnie jakieś inne sugestie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 1.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki - to działa choć niestety nie bardzo rozumiem dlaczego ale świeży jestem w programowaniu obiektowym przy pomocy javascript.
Trochę się jeszcze muszę podszkolić. Jeszcze raz wielkie dzięki. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki - to działa choć niestety nie bardzo rozumiem dlaczego ale świeży jestem w programowaniu obiektowym przy pomocy javascript. Ja dałem "gotowca" [nie gotowca a przykład rozwiązania problemu]. W polskiej sieci mało jest dobrych artykułów, ale akurat link co podał @vokiel też omawia ten problem z this (ale jak jesteś w tej tematyce początkujący nie koniecznie za pierwszym razem to zrozumiesz - przeczytaj to - w sumie jemu też należy się "pomógł")... a i w tamtym linku w komentarzu podałem link do tego forum gdzie masz przykład hermetyzacji i z pewnych powodów do funkcji setTimeout this musiało być zastąpione... i dalej jeśli chcesz to zrozumieć to w google szukaj artykułów pod hasłami "oop javascript" (angielskie są dobre - polskie w pierwszych wynikach nie najlepsze - ale też są)... i jeśli rozumiesz trochu dokumentację po angielsku to daję jeden dobry link: Douglas Crockford's Javascript - są tam też filmy instruktażowe - dobre materiały ale bez podstaw (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 21:36 |