9
votes

Vérification de la vérification pour voir si une info-bulle de bootstrap est associée à un champ?

Je crée des info-bulles de bootstrap de manière dynamique sur des champs et je voudrais vérifier si un champ donné a une info-bulle afin que je puisse modifier le message au lieu de créer une nouvelle info-bulle.

Je ne vois de toute façon pas que ce soit dans la documentation de bootstrap, mais j'imagine qu'il y a un moyen d'accomplir cela. Quelqu'un sache d'une manière?


0 commentaires

3 Réponses :


12
votes

Je ne vois pas non plus de documentation liée. Mais vous pouvez vérifier avec une jQuery si l'info-bulle a le titre d'attribut-original-original. Cet attribut est ajouté par le plugin lors de l'initialisation de l'élément et est utilisé pour le contenu du texte de l'info-bulle.

if ($('.example').attr('data-original-title')) {
    console.log('Tooltip not initialized'); 
} else {
    console.log('Tooltip initialized');
    // Change the tooltip content
    $('.example').attr('data-original-title', 'My new title');
}


7 commentaires

HMM, je constate que les articles ont une fonction d'info-bulle avant même d'initialiser l'info-bulle sur eux.


Oui, c'est parce que l'info-bulle est comme un plugin JQuery. Il est disponible mais non initialisé dans l'élément avant de passer les options.


Ah, OK, je vois la confusion, j'essayais de comprendre si un champ avait une info-bulle, pas si le plugin avait été initialisé en général.


Je vois ce que tu tentes d'accomplir. Je vais mettre à jour la réponse.


Ah merci, j'ai fini par vérifier l'existence de données («info-bulle»), similaire à la méthode décrite dans Stackoverflow.com/Questtions/10181847/... , puisque mes info-bulles sont 100% dynamiques.


Vous devez également appeler ToolTip ('FixtiTle') Pour que l'info-bulle reflète le nouveau titre après la modification.


En fait, je pense que initialisé et non initialisé sont inversés.



3
votes

Méthode que j'ai fini par utiliser juste au cas où il est utile à quiconque, xxx


1 commentaires

Êtes-vous sûr de ne pas échanger les commentaires?



26
votes

Utilisation de bootstrap 3:

var field = $('.example');

if (field.data('bs.tooltip')) {
    // tooltip is initialized
} else {
    // tooltip is not initialized
}


2 commentaires

Vous venez de faire ma journée! Merci :)


C'était parfait! Merci Man, c'est la bonne réponse à coup sûr.