Spędziłem nierealistyczną ilość czasu próbując uruchomić funkcję, gdy zmiany tabulatorów w zakładce / pasku nawigacyjnym bootstrap 3 i dosłownie wszystkie sugestie wyrzucone przez Google były nieprawidłowe / nie działały.
Jak sobie z tym poradzić?
Meta-edycja: patrz komentarz
jquery
twitter-bootstrap-3
Gerben Rampaart
źródło
źródło
Odpowiedzi:
Eric Saupe wie, jak to zrobić
źródło
$(document).on('shown.bs.tab', function (e) { console.log('ae'); });
target
jako zmienną globalną i przypisałem wartość, jak wspomniano powyżej. Kiedy ładuję stronę po raz pierwszy, otrzymuję wartość (alert) celu jako niezdefiniowaną. Ale kiedy zmieniam zakładkę i przypisuję tę wartość do celu, nie otrzymuję żadnego ostrzeżenia. Nawet komunikat o błędzie. Co powinienem zrobić, aby wyjść poza tę pętlę? Zadeklarowałem zmienną poza funkcją document.ready.Problem polega na tym, że attr („href”) nigdy nie jest pusty.
Lub, aby porównać #id = "# jakąś wartość", a następnie wywołać ajax.
źródło
Dzięki postowi @ Gerbena dowiedziałem się, że istnieją dwa zdarzenia show.bs.tab (przed wyświetleniem karty) i pokazano.bs.tab (po wyświetleniu karty), jak wyjaśniono w dokumentacji - użycie karty Bootstrap
Dodatkowym rozwiązaniem, jeśli interesuje nas tylko konkretna karta i być może dodamy osobne funkcje bez konieczności dodawania bloku if - else w jednej funkcji, jest użycie selektora href (być może wraz z dodatkowymi selektorami w razie potrzeby)
próbny
źródło
Aby dodać do odpowiedzi Mosh Feu, jeśli zakładki były tworzone w locie, jak w moim przypadku, użyłbyś następującego kodu
Mam nadzieję, że to komuś pomoże
źródło
To zadziałało dla mnie.
źródło
Używam innego podejścia.
Wystarczy spróbować znaleźć wszystkie
a
tam gdzieid
rozpoczyna się od jakiegoś fragmentu .JS
HTML
źródło