![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Posiadam taki przykładowy skrypt: I tutaj jest problem gdyż po każdorazowym kliknięciu w link otrzymuje p jeden komunikatów więcej niż w poprzednim kliknięciu. np. Kliknięcia ...... Ilosc komunikatów alert() 1................... 0 2................... 1 3................... 2 4................... 3 5................... 4 A powinno być tak: Kliknięcia ....... Ilosc komunikatów alert() 1................... 0 2................... 1 3................... 2 4................... 3 5................... 4 itd.. Czy ktoś wie co może być tego przyczyną ? Ten post edytował Sajrox 27.02.2009, 13:16:03 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Chyba coś Ci się pomieszało;) w tym przykładzie jak powinno być.
Za każdym kliknięciem masz jeden click więcej, bo dodajesz do zdarzenia onclick następnego alerta. Jeśli chcesz mieć jednego alerta to wywołaj swoją funkcję w zdarzeniu ready(vide dokum. jQuery). PS.Sugeruje nie dawać funkcji/wyrażeń js w href. Ten post edytował lord_t 27.02.2009, 13:20:57 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod <script> function linkClick() { alert('test click'); } </script> <a href="#" onclick="linkClick()" class="link">KLIKNIJ MNIE</a> albo Kod <a href="#" class="link">KLIKNIJ MNIE</a> <script> $("a.link").click(function() { alert('test click'); }); </script> Nie mieszaj dwóch stylów, a przynajmniej nie modyfikuj onclick podczas wywołania onclick ![]() Ten post edytował ucho 27.02.2009, 13:23:51 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Właśnie w tym problem że linki <a> generuje przez AJAXa i gdy wstawię w zdarzeniu ready()
kod który ma reagować na kliknięcie linka który został pobrany przez AJAXA to jest tak jakby tego linka w ogole nie było. Nie wiem czy dobrze wyjaśniłem. Ale napisze tak że gdy w dokumencie ręcznie podam linki któe mają wywołuwać dane zdarzenie, to wtedy nie ma problemy. Jednak gdy wygeberuje je przez AJAXA to nie są one widoczne przez $(document).ready( ... Przedstawie w skrócie cały skrypt:
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Żeby elementy załadowane przez ajaxa miały nadane zdarzenia w ready musisz wykorzystać metodę live().
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie
![]() Działa elegancko. PS: Jeszcze tylko jedna sprawa. Mam kilka elementów <a> każdy ma klase "link" i atrybut "value" z różnymi wartościami. Pytanie jak mogę pobrać wszystkie wartosci z value <a> ?
Nie działa ![]() Ten post edytował Sajrox 27.02.2009, 13:57:38 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 02:37 |