Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Akcja jQuery wykonana tylko raz
Forum PHP.pl > Forum > Po stronie przeglądarki
unnamedly
Witam, robię "system" wysuwania się komentarzy na które się odpowiedziało, bez przeładowania strony. Według mnie, błąd nie tkwi w samym kodzie, ale sposobie działania jQuery. Więc mam taki kodzik:

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function()
  2. $('[name=expandit]').click(function() {
  3. if($(this).html() == 'rozwiń')
  4. {
  5. var cid = $(this).parent().siblings('[name=comopts]').attr('value');
  6. $(this).after(\"<img src='images/loading.gif' id='loadreplys' style='margin-left: 10px; position: relative; top: 10px' />\");
  7. $(this).next().next().next().load('inc/expandreply.php?cid='+cid, function() {
  8. $('#loadreplys').remove();
  9. $(this).prev().prev().html('zwiń');
  10. });
  11. }
  12. else
  13. {
  14. $(this).next().next().html('');
  15. $(this).html('rozwiń');
  16. }
  17. }); });
[JAVASCRIPT] pobierz, plaintext




Ok, klikam na [name=expandit] i wszystko się ładnie wykonuje, lecz gdy kliknę w wysunięty komentarz, nic się nie dzieje. Masakrycznie to wytłumaczyłem, ale wszystko obrazuje screen: http://screenshoot.me/qnbQfH .

Gdy wpiszę w konsolce w Chrome powyższy kod, wszystko ładnie działa i komentarz wysuwa się ponownie, więc dlatego błąd nie tkwi w samym kodzie.

Jak zrobić, aby powyższy kodzik działał 2, 3, 4, a nawet 100 razy?
mokry
Spróbuj zbindować zdarzenie onclick na elemencie [name=comopts] za pomocą jQuery:
http://api.jquery.com/bind/
unnamedly
Niestety nie pomaga sad.gif

//EDIT: Zadziałała metoda live() smile.gif
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.