Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Wielokrotne wykorzystanie
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
matrik
Witam

Mam problem z wykorzystaniem "załadowanego" nowego kodu html.
Jestem początkującym w języku js.
Mniej więcej wygląda to tak:

Plik główny

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4. $(".catecontainer").load("1.html");
  5. $('a.catejquery').click(function(){
  6. $('a.catejquery').removeClass('select');
  7. $(this).addClass('select');
  8. var activeCat = $(this).attr("rel");
  9. var NextCat = $(this).attr("id");
  10. if( NextCat == "true_next" ) {
  11. $(this).parent().load(activeCat+".html");
  12. }
  13. return false;
  14. });
  15. });
  16. <div style="display: block;" class="catecontainer">
  17.  
  18. </div>


Plik dodatkowy 1
  1. To jest plik nr 1<br /><br />
  2. <a class="catejquery" href="#" rel="2" id="true_next">Idź do dwójki</a>


Plik dodatkowy 2
  1. To jest plik nr 2<br /><br />
  2. <a class="catejquery" href="#" rel="1" id="true_next">Powrót</a><br>


Problem tkwi w powrocie, po prostu nie działa jQuery w momencie kliknięcia.

Co jest grane? Jak ten kod naprawić tak, żeby działało?
vokiel
Dzieje się tak ponieważ skrypt uruchamiany na stronie startowej nie wie o istnieniu treści stron dołączanych, zatem nie może dla nich obsługiwać zdarzeń, bo nie ma go jeszcze w drzewie DOM.

Generalnie opcje są dwie (brzydka i ładna)
1. Przeniesienie kodu jQuery dołączanych plików do nic samych (ta brzydka opcja)
2. Skorzystanie z pluginu livequery lub w wersji 1.4 z delegate
matrik
Ok mam już smile.gif
Wszystko pięknie działa
Wykorzystałem metodę livequery, bardziej przydatniejsza od delegate

Dzięki za pomoc
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.