![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie, wczytuje wyniki poprzez ajax na stronę, lecz nie działa w wynikach dialog czy tooltip.
poza pobraniem wyników poprzez ajax tooltip czy toggle działa bez problemów, konsola też nic nie wywala. Problem rozwiązany w połowie, dla tooltip wystarczy zrobić:
ale dla toggle() problem pozostaje dalej. Ten post edytował casperii 10.05.2017, 00:25:50 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Dla toggle() teoretycznie tak samo, ale jeśli działa przed przeładowaniem tabeli ajaxem a po nie działa, to być może html który dostajesz w ajaxSearch.php nie jest spójny z tym, który generowany jest przy pierwszym załadowaniu strony. Może jakieś id mają inne nazwy...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@bostaf po wczytaniu HTMLa poprzez ajaxa dane są takie same ID etc.
może problem polega w tym, że te dane są tak jakby z zewnątrz wczytywane ? poniżej kod JS dla toggle:
ale nijak nie mogę tego ugryźć. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
może problem polega w tym, że te dane są tak jakby z zewnątrz wczytywane ? Tak. Tutaj to jest wyjaśnione: Cytat Delegated events have the advantage that they can process events from descendant elements that are added to the document at a later time. I gdzieś widziałem zalecenie, żeby zamiast starych eventhandlerów "click", "keydown", ... używać on(), tak jak to zrobiłeś z tooltipem. Chociażby dlatego, że radzą sobie z elementami dodawanymi dynamicznie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ale co konkretnie zastępujesz bo w kodzie wyżej nie widać wywołania toggle. Jeśli podmieniasz cały html to wszystkie przypięte zdarzenia przestaną działać.
https://prophp.pl/article/15/jquery%2C_zdar...e_metoda_%24.on -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@viking na stronie mam 10 rekordów po kliknięciu w nie jest wszystko w porządku, następnie w wyszukiwarkę wpisuje frazę, rekordy są wczytywane poprzez ajaxa i tu zero reakcji, spoglądając w kod źródłowy wydaje się , że wszystko jest tak samo.
kod odpowiedzialny za uruchomienie toggle/dialog:
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@bostaf zobacz post przed dodaniem swojego posta:) JS został zedytowany.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
@bostaf zobacz post przed dodaniem swojego posta:) JS został zedytowany. Niom, w tym samym czasie rzeźbiliśmy ![]() Ciekawe to, a byłbyś w stanie spreparować fidla żeby zobaczyć co tam się dzieje. Fidla bez ajaxa, tak żeby chociaż mieć lepsze wyobrażenie o strukturze. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@bostaf podesłałem na PW link do działającego triala, by tu nie spamować.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Problem rozwiązany.
Dosyć długi kod został zdefiniowany jako osobna funkacja, która następnie została wywołana osobno dla oryginalnego dokumentu jak i tego zmienionego dynamicznie:
document.ready oddziałuje tylko na elementy utworzone przed jego wywołaniem, a zatem nie uwzględnia tych utworzonych dynamicznie (np ajaxem), a ajaxStop operuje tylko na elementach dodanych dynamicznie. Stąd konieczność dwóch wywołań całego kodu. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 18:59 |