Autor | Zpráva | ||
---|---|---|---|
jan98 Profil * |
#1 · Zasláno: 23. 6. 2011, 15:45:17
Zdravim, mam problem.
Přes jquery ajax volam "obsah" z obrazky.php $(document).ready(function(){ $("#strankovani a").click(function(e){ $("#obrazky").html("Nahravani..").load("obrazky.php?o="+$(e.target).text()+""); }); }); loadovany obsah z obrazky.php se vrati do divu #obrazky. Zaroven mam uvnitr obrazky.php napsano: echo '<script>$(document).ready(function(){ $("#strankovani").html(\''.$t['navigace_odkazy'].'\'); });</script>'; Coz mi vlastne jeste rovnou vrati odkazy pro strankovani a vyplivne do divu #strankovani aktualni stranu apod. Problem je v tom ze kdyz pak chci kliknout na nejaky odkaz z toho vraceneho strankovani - jquery to uz vubec neregistruje tzn. neregistruje vubec tu funkci ".click(function(e){...". Kde je chyba? Diky |
||
jan98 Profil * |
#2 · Zasláno: 23. 6. 2011, 15:55:11
a jeste poznamka funguje to jen v pripade kdyz cely ten kod "$("#strankovani a").click(function(e){ ..." zkopiruju do toho vraceneho echa.
takze to vypada jakoby tam nemohlo byt 2x $(document).ready(function(){ |
||
_es Profil |
#3 · Zasláno: 23. 6. 2011, 16:41:16
jan98:
Sprav to nejako normálne, okrem iného napríklad tak, aby v obsahu nahratom cez tú jQuery metódu nebol element <script> a nejako menej chaoticky-komplikovane.
Ak načítaš nový obsah, tak sa samozrejme udalosti naviazané priamo na starý obsah odstránia. |
||
jan98 Profil * |
#4 · Zasláno: 23. 6. 2011, 22:08:13
_es: nevím jak "méně chaoticky" by to šlo. Protože se pošle 1x ajax požadavek GET (více by zbytečně zatěžovalo server) a vrací se obrázky a stránkování zároveň, při čemž potřebuju obrázky a stránkování vložit každé do jiného divu.
_es: „Ak načítaš nový obsah, tak sa samozrejme udalosti naviazané priamo na starý obsah odstránia.“ To je jasné, javascript: $(document).ready(function(){ $("#strankovani a").click(function(e){ $("#obrazky").html("Nahravani..").load("obrazky.php?o="+$(e.target).text()+""); }); }); není samozřejmě v divu kam se načítá vrácený obsah z ajaxu. Každopádně pokud chci aby mi to fungovalo tak musím mít jeden skript v html. A pak druhý úplně ten samý musím zkopírovat do obrazky.php, což se pak vypisuje jako echo. Takto to funguje, ale musím to mít prostě 2x. |
||
jan98 Profil * |
#5 · Zasláno: 23. 6. 2011, 22:18:13
_es: nevím jak "méně chaoticky" by to šlo. Protože se pošle 1x ajax požadavek GET (více by zbytečně zatěžovalo server) a vrací se obrázky a stránkování zároveň, při čemž potřebuju obrázky a stránkování vložit každé do jiného divu.
_es: „Ak načítaš nový obsah, tak sa samozrejme udalosti naviazané priamo na starý obsah odstránia.“ To je jasné, javascript: $(document).ready(function(){ $("#strankovani a").click(function(e){ $("#obrazky").html("Nahravani..").load("obrazky.php?o="+$(e.target).text()+""); }); }); není samozřejmě v divu kam se načítá vrácený obsah z ajaxu. Každopádně pokud chci aby mi to fungovalo tak musím mít jeden skript v html. A pak druhý úplně ten samý musím zkopírovat do obrazky.php, což se pak vypisuje jako echo. Takto to funguje, ale musím to mít prostě 2x. |
||
_es Profil |
#6 · Zasláno: 23. 6. 2011, 22:26:52 · Upravil/a: _es
jan98:
„Takto to funguje, ale musím to mít prostě 2x.“ Nahrávať element <script> cez metódy jQuery knižnice do nejakého elementu na stránke nepotrebuješ.
Pozri si, respektíve zamysli sa nad tým, kedy je vyvolaná jQuery udalosť $(document).ready .
JQuery metóda load vyvoláva vlastné udalosti, viď druhý ukážkový kód v oficiálnej dokumentácii.
|
||
Časová prodleva: 14 let
|
0