J'ai passé un temps irréaliste à essayer de déclencher une fonction lorsque les modifications de l'onglet de l'onglet / de la barre de navigation de bootstrap 3 et littéralement toutes les suggestions que Google a crachées étaient fausses / n'ont pas fonctionné.
Que faire à ce propos?
Meta-edit: voir le commentaire
jquery
twitter-bootstrap-3
Gerben Rampaart
la source
la source
Réponses:
Eric Saupe sait comment le faire
la source
$(document).on('shown.bs.tab', function (e) { console.log('ae'); });
target
comme une variable globale et affecté la valeur comme mentionné ci-dessus. Lorsque je charge la page pour la première fois, j'obtiens la valeur (alerte) de la cible non définie. Mais, lorsque je modifie l'onglet et attribue cette valeur à la cible, je ne reçois aucune alerte. Pas même un message d'erreur. Que dois-je faire pour le sortir de cette boucle? J'ai déclaré la variable en dehors de la fonction document.ready.le problème est que attr ('href') n'est jamais vide.
Ou pour comparer la valeur #id = "#some value", puis appelez ajax.
la source
Grâce au message de @ Gerben, j'ai appris qu'il y avait deux événements show.bs.tab (avant que l'onglet ne soit affiché) et shown.bs.tab (après que l'onglet soit affiché) comme expliqué dans la documentation - Utilisation de l' onglet Bootstrap
Une solution supplémentaire si nous ne sommes intéressés que par un onglet spécifique, et peut-être ajouter des fonctions distinctes sans avoir à ajouter un bloc if - else dans une fonction, consiste à utiliser le sélecteur a href (peut-être avec des sélecteurs supplémentaires si nécessaire)
démo
la source
Pour ajouter à la réponse Mosh Feu, si les onglets étaient créés à la volée comme dans mon cas, vous utiliseriez le code suivant
J'espère que ça aidera quelqu'un
la source
Cela a fonctionné pour moi.
la source
J'utilise une autre approche.
Essayez simplement de trouver
a
oùid
commence une sous-chaîne .JS
HTML
la source