![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
stworzyłem w jquery dwa zdarzenia "click". Pierwsze dodaje zdjęcie do galerii i działa bez problemów. Natomiast drugie, usuwa wybrane zdjęcie. Funkcje działają prawidłowo. Jednak druga (usuwająca zdjęcie) działa tylko przy pierwszym użyciu. Za drugim razem przycisk, którego kliknięcie ona nasłuchuje działa jak standardowy odsyłacz, czyli wczytuje się strona. Męczę się z tym i nie mogę dojść dlaczego tak jest.
Z góry dzięki za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
@vieri_pl dobrze pisze ale za szybko i nawet nie sprawdził, że to nie zadziała ;]
luknąłem na dokumentację z ciekawości, że coś w jQuery się zmieniło... powyższy przykład zadziała jak stary .click... .live to było .delegate na "body"... tutaj by uzyskać efekt .delegate po zdarzeniu podaje się selektory dzieci a dopiero potem funkcję http://api.jquery.com/on/#direct-and-delegated-events - pierwsze 2 kody na jakie natrafisz i to co nad nimi pisze do ilu elementów zostanie podpięte zdarzenie... problemem w kodzie autora jest: $('#imagesInGallery').empty(); $('#imagesInGallery').append(html); nowo utworzone elementy nie są już tymi samymi do których było podpięte zdarzenie - nie ma przykładu live ale wnioskuję, iż te linki do usuwania są w galerii... kod napisany od ręki: do podpięcia kliknięcia na usuwany element: $("#imagesInGallery").on("click", "a.removeFromGalleryButton", function(){}); przy czym "a.removeFromGalleryButton" zamień na ".removeFromGalleryButton" o ile nie masz innych elementów niż linki w galerii o tej klasie czyli w zbiorze "#imagesInGallery .removeFromGalleryButton" Ten post edytował zegarek84 25.04.2012, 13:25:22 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 16:31 |