Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX]"Przejęcie" linków przez treść załadowaną do DIVa
Forum PHP.pl > Forum > Przedszkole
Mustava
Problem:
Strona główna/startowa, z danymi "startowymi" - linki do styli i js'ów.
W treści strony trzy DIVy do których są ładowane wyniki wywołań zewnętrznych (inne pliki).
Pytanie:
Jak spowodować by załadowana treść do DIVów "przejęła" liniki" startowe.

W ładowanych linkak/plikach jest jeden z funkcją jquery "przechwytującą" wszystkie hrefy (<A href='....'>
  1. $(document).ready(function() {
  2. $('a').click(function() {
  3. gdzie = $(this).attr('target');
  4. co = $(this).attr('href');
  5. if (gdzie==''){alert('Brak parametru TERGET w opcjach HREFa!!');}
  6. else {
  7. alert(co+'\n '+gdzie);
  8.  
  9. $.ajax ({
  10. type: 'POST',
  11. url: co,
  12. beforeSend: function(html){ $('#'+gdzie).html(\"<CENTER><br><br><img SRC='style/czekaj.gif'><br><br><SPAN class='serif8'>Trwa pobieranie danych...</SPAN></CENTER>\");},
  13. success: function(html){ $('#'+gdzie).html(html);},
  14. error: function(html){ $('#'+gdzie).html(\"<CENTER><br><br><br><br><SPAN class='serif8b'>Błąd pobierania danych</SPAN></CENTER>\");}
  15. });
  16. }
  17. return false;
  18. });
  19. });


Jeżeli zaincluduję (lub bezpośrednio wstawię) do kodu ładowanych stron tę funkcję to dzieją się dziwne rzeczy - po kilka (lub więcej razy ) po kliknięciu jest wywoływana ta funkcja.

Jak zrobić by funkcja (lub plik z jej treścią) była ładowana tylko raz w głównej stronie i była "widoczna" dla treści ładowanych do DIVów?
trucksweb
tak ebdziesz mial dostep do tej funkcji z ladowanych plikow

  1. $('a').live("click", (function() {


a zeby sie raz wywolywala ?
moze zastosuj event.stopPropagation() ?
Mustava
Cytat(trucksweb @ 26.03.2010, 12:44:53 ) *
tak ebdziesz mial dostep do tej funkcji z ladowanych plikow

  1. $('a').live("click", (function() {

OK - toto działa - THX

Cytat
a zeby sie raz wywolywala ?
moze zastosuj event.stopPropagation() ?


Wsatwiłem event'a jak poniżej - niestety nie działa (może robię coś nie tak - średnio się na tym znam sad.gif )
  1. $(document).ready(function() {
  2. $('a').live("click",(function(e) {
  3. e.stopPropagation();
  4. gdzie = $(this).attr('target');
  5. .......
  6. itd...
trucksweb
to zrob moze inaczej bo po co powielasz funkcje jquery w tych wszystkich plikach ?

umiesc ja na stronie glownej do ktorej includujesz inne pliki. Jquery i tak dziala po stronie przegladarki czyli jak juz masz wszystko wyswietlone.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.