Skocz do zawartości

Do speców js


papieros

Rekomendowane odpowiedzi

Mam taki javoscriptovy problem :

Jest obiekt obiektA tworzony standardowo, chcialbym aby przy wywolaniu handlera zdarzenia funkcja handlera zostala wywolana dla tego wlasnie obiektu, robie to w sposob klasyczny:

function obiektA{   //konstruktor
 obj=createElement('div');
 obj.onclick=clickHand; //lub obj.onclick=this.clickHand;
 if( obj.clickHand.captureEvents ) obj.captureEvents(Event.ONCLICK);
  }

function clickHand(e){
 ... //ta funkcja ma byc wolana na rzecz obiektu tzn. this ma pokazywac na obiekt wolajacy a tak sie nie dzieje (this jest nieokreslone)
}
obiektA.prototype.clickHandle=clickHandle;

Czy komus przychodzi sposob do glowy jak to rozwiazac . Ew. znacie jakies forum gdzie siedza spece od js (moze byc po angielsku)

Odnośnik do komentarza
Udostępnij na innych stronach

Problem rozwiązany, jakby ktos kiedys mial podobny problem to podsylam rozwiazanie:

function obiektA{ //konstruktor

obj=createElement('div');

obj.object=this; //ref do siebie samego

obj.onclick=clickHand; //lub obj.onclick=this.clickHand;

if( obj.clickHand.captureEvents ) obj.captureEvents(Event.ONCLICK);

}

function clickHand(e){

... //ta funkcja ma byc wolana na rzecz obiektu tzn. this ma pokazywac na obiekt wolajacy a tak sie nie dzieje (this jest nieokreslone)

obj=e.target.object; //o dziwo zwraca poprawnie obiekt :P

}

obiektA.prototype.clickHandle=clickHandle;

Ta metoda dziala dobrze pod IE i FF (oczywiscie pod IE obj=e.srcElement.object )

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności