Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

kako da onreadystatechange poziva "spoljnu" funkciju?

  • 3 odgovora
  • 2.409 pregleda

Najnovija ↓

kako da onreadystatechange poziva "spoljnu" funkciju? 17.11.2010. u 00:20 · pre 194 meseca #1
"Klasican" ajax:

Code:
xmlhttp.onreadystatechange = function() {
...
}


e sad, moje pitanje je, kako da omogucim da onreadystatechange poziva neku ne anonimnu funkciju? Nesto tipa

Code:
xmlhttp.onreadystatechange = mojaFunkcija(5);


Zelim da napravim jednu funkciju koja bi reagovala na vise onreadystatechange dogadjaja.

P.S. Ni sledeci nacin ne daje rezultate
Code:
xmlhttp.onreadystatechange = function() {
mojaFunkcija();
}
Re: kako da onreadystatechange poziva "spoljnu" funkciju? 17.11.2010. u 00:40 · pre 194 meseca #2
prvo sto mi je palo na pamet:
Code (javascript):

var ajax_callbacks = { ready: [] };

...
xmlhttp.onreadystatechange = function() {
  for (var i = 0; i < ajax_callbacks.ready.length; i++) {
     ajax_callbacks.ready[i].apply(this, arguments);
  }
}
...

// prva fja
ajax_callbacks.ready.push(function(){
   // ...
});

// druga fja
ajax_callbacks.ready.push(function(){
   mojaFunkcija(5);
});

// treca fja
ajax_callbacks.ready.push(mojaFunkcija);
 


naravno ovo nije i najbolje resenje, ali je valjda dosta za pocetak :)
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Sviđa mi se1
Re: kako da onreadystatechange poziva "spoljnu" funkciju? 17.11.2010. u 00:43 · pre 194 meseca #3
aha, nisam pazljivo citao...
tebi treba ovo:
Code (javascript):

xmlhttp.onreadystatechange = function() {
  mojaFunkcija.apply(this, arguments); // pozivamo fju u istom contextu i sa istim argumentima
}
 
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Sviđa mi se1
Re: kako da onreadystatechange poziva "spoljnu" funkciju? 17.11.2010. u 01:02 · pre 194 meseca #4
Hvala :D
Ovaj prvi primer mi nije bas radio pa sam "stelovao" dok nisam procitao ovaj drugi primer :)

btw, zaboravio sam da napomenem da ta "mojaFunkcija" prima vise argumenata, ali citajuci help za "apply" skapirao sam da argumente zapakujem kao niz :) Hvala, ipak sam JavaScript pocetnik, ovoga se nikad ne bih setio :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme