Ich habe unrealistisch viel Zeit damit verbracht, eine Funktion auszulösen, als die Registerkarten der Registerkarte / Navigationsleiste von Bootstrap 3 geändert wurden und buchstäblich alle Vorschläge, die Google ausgespuckt hat, falsch waren / nicht funktionierten.
Wie gehe ich vor?
Meta-Edit: siehe Kommentar
jquery
twitter-bootstrap-3
Gerben Rampaart
quelle
quelle
Antworten:
Eric Saupe weiß, wie es geht
quelle
$(document).on('shown.bs.tab', function (e) { console.log('ae'); });
target
als globale Variable deklariert und den Wert wie oben erwähnt zugewiesen. Wenn ich die Seite zum ersten Mal lade, erhalte ich den Wert (Alarm) des Ziels als undefiniert. Wenn ich jedoch die Registerkarte ändere und diesen Wert dem Ziel zuweise, erhalte ich keine Warnung. Nicht einmal eine Fehlermeldung. Was soll ich tun, um es außerhalb dieser Schleife zu bringen? Ich habe die Variable außerhalb der Funktion document.ready deklariert.Das Problem ist, dass attr ('href') niemals leer ist.
Oder um den #id = "#some value" zu vergleichen und dann den Ajax aufzurufen.
quelle
Dank @ Gerbens Beitrag wurde bekannt, dass es zwei Ereignisse gibt: show.bs.tab (bevor die Registerkarte angezeigt wird) und show.bs.tab (nachdem die Registerkarte angezeigt wird), wie in den Dokumenten erläutert - Verwendung der Registerkarte " Bootstrap"
Eine zusätzliche Lösung, wenn wir nur an einer bestimmten Registerkarte interessiert sind und möglicherweise separate Funktionen hinzufügen möchten, ohne einen if-else-Block in einer Funktion hinzufügen zu müssen, ist die Verwendung des a href-Selektors (möglicherweise zusammen mit zusätzlichen Selektoren, falls erforderlich).
Demo
quelle
Um die Antwort von Mosh Feu zu ergänzen, würden Sie den folgenden Code verwenden, wenn die Registerkarten wie in meinem Fall im laufenden Betrieb erstellt würden
Ich hoffe das hilft jemandem
quelle
Das hat bei mir funktioniert.
quelle
Ich benutze einen anderen Ansatz.
Versuchen Sie einfach, alles zu finden,
a
woid
von einem Teilstring ausgeht .JS
HTML
quelle