Je deviens fou ici.
J'ai le HTML suivant:
<a href="#" rel="tooltip" title="A nice tooltip">test</a>
Et l'info-bulle de style Bootstrap refuse de s'afficher, juste une info-bulle normale.
J'ai bootstrap.css qui fonctionne très bien, et je peux voir les classes là-dedans
J'ai tous les fichiers JS pertinents à la fin de mon fichier HTML:
<script src="bootstrap/js/jquery.js"></script>
<script src="bootstrap/js/bootstrap-alert.js"></script>
<script src="bootstrap/js/bootstrap-modal.js"></script>
<script src="bootstrap/js/bootstrap-transition.js"></script>
<script src="bootstrap/js/bootstrap-tooltip.js"></script>
J'ai regardé la source de l'exemple de Bootstrap et je ne vois rien qui initie l'infobulle n'importe où là-dedans. Donc je suppose que ça devrait juste marcher, ou est-ce que je manque quelque chose de vital ici?
J'ai des modaux et des alertes et d'autres choses qui fonctionnent très bien, donc je ne suis pas un idiot total;)
Merci pour toute aide!
twitter-bootstrap
Mike Bartlett
la source
la source
code
<a href="#" rel="tooltip" title="A nice tooltip" class="tooltip-test"> test </a> <br> <script> // tooltip demo $ (' .tooltip-test '). tooltip () </script>$('.tooltip-test').tooltip({ selector: "a" })
Réponses:
Pour résumer: activez vos info-bulles à l'aide des sélecteurs jQuery
En fait, vous n'avez pas besoin d'utiliser le sélecteur d'attributs, vous pouvez l'invoquer sur n'importe quel élément même s'il n'en a pas
rel="tooltip"
dans sa balise.la source
bootstrap.js.coffee
avec$(".tooltip").tooltip()
. Assurez-vous simplement de l'inclure//= require bootstrap
dans votreapplication.js
..tooltip
et par défaut, ils sont invisibles. Vous pouvez cependant utiliser l'rel
attribut ou toute autre classe comme sélecteur.Après avoir rencontré le même problème, j'ai trouvé que cette solution fonctionnait sans avoir à ajouter des attributs de balise supplémentaires en dehors des attributs requis par Bootstrap.
HTML
JQuery
J'espère que cela t'aides!
la source
Vous n'avez pas besoin de tous les fichiers js séparément
Utilisez simplement les fichiers suivants si vous souhaitez utiliser toutes les fonctions d'amorçage:
les deux peuvent être trouvés sur http://twitter.github.com
et enfin
-La dernière version de jquery.js
Pour les glyphiques, vous avez besoin de l'image
glyphicons-halfings.png et / ou glyphicons-halfings-white.png (images de couleur blanche)
que vous devez télécharger dans le dossier / img / de votre site Web (ou) le stocker où vous le souhaitez, mais modifiez le répertoire du dossier dans le bootstrap .css
Pour l'infobulle, vous avez besoin du script suivant dans votre
<head> </head>
baliseC'est tout...
la source
http://getbootstrap.com/javascript/#tooltips-usage
Fonction d'activation Pour des raisons de performances, les info-bulles et les API de données Popover sont opt-in, ce qui signifie
Une façon d'initialiser toutes les info-bulles sur une page serait de les sélectionner par leur attribut de basculement de données:
mettre ce morceau de code dans votre html vous permet d'utiliser les info-bulles
Exemples:
la source
Je sais que c'est une vieille question, mais puisque j'ai eu ce problème avec la nouvelle version de bootstrap et que ce n'est pas clair sur le site Web, voici comment activer l'info-bulle.
donner à votre élément une classe comme "tooltip-test"
puis activez cette classe dans votre balise javascript:
la source
HTML
JQuery
Celui-ci est un travail pour moi.
la source
Si vous faites
$("[rel='tooltip']").tooltip();
comme d'autres réponses l'ont suggéré, vous n'activez les info-bulles que sur les éléments qui sont actuellement dans DOM. Cela signifie que si vous allez changer de DOM et insérer du contenu dynamique plus tard, cela ne fonctionnera pas. De plus, cela est beaucoup moins efficace car il installe un gestionnaire d'événements pour les éléments individuels au lieu d'utiliser la délégation d'événements JQuery. Donc, la meilleure façon que j'ai trouvée pour activer les info-bulles Bootstrap est cette seule ligne de code que vous pouvez placer dans le document prêt et l'oublier:Notez que j'utilise
title
comme sélecteur au lieu derel=title
oudata-title
. Cela a l'avantage de pouvoir être appliqué à de nombreux autres éléments (lerel
n'est censé être que pour les ancres) et cela fonctionne également comme "secours" pour les anciens navigateurs.Notez également que vous n'avez pas besoin d'
data-toggle="tooltip"
attribut si vous utilisez le code ci-dessus.Les info-bulles d'amorçage sont coûteuses car vous devez gérer les événements de souris sur chacun des éléments. C'est la raison pour laquelle ils ne l'ont pas activé par défaut. Donc, si vous décidez de commenter la ligne ci-dessus, votre page fonctionnera toujours si vous utilisez l'attribut title.
Si vous êtes d'accord pour ne pas utiliser l'attribut title, je recommanderais d'utiliser une solution CSS pure telle que Hint.css ou consultez http://csstooltip.com qui ne nécessite aucun code JavaScript.
la source
C'est le moyen le plus simple. Mettez juste ceci avant
</body>
:Consultez les exemples donnés dans la documentation de Bootstrap sur les info-bulles .
Par exemple:
la source
L'info-bulle et le popover ne sont PAS uniquement des plugins CSS comme la liste déroulante ou la barre de progression. Pour utiliser les info-bulles et les fenêtres contextuelles, vous DEVEZ les activer à l'aide de jquery (lire javascript).
Donc, disons que nous voulons qu'un popover soit affiché en cliquant sur un bouton html.
Ensuite, vous devez avoir le code javascript suivant pour activer la popover:
En fait, le code javascript ci-dessus activera le popover sur tous les éléments html qui ont la classe "popovers-to-be-enabled".
Inutile de dire que mettez le javascript ci-dessus dans le rappel prêt pour DOM pour activer tous les popovers dès que DOM est prêt:
la source
dans la section tête, vous devez d'abord ajouter le code suivant
Ensuite, dans la section corps, vous devez écrire le code suivant
la source
Si tout n'est toujours pas résolu Utiliser la dernière bibliothèque Jquery, vous n'avez besoin d'aucun des sélecteurs jquery si vous utilisez les derniers bootstrap 2.0.4 et jquery-1.7.2.js
Utilisez simplement
rel="tooltip" title="Your Title" data-placement=" "
Utilisez haut / bas / gauche / droite dans le placement des données selon votre souhait.
la source
J'ai ajouté jquery et bootstrap-tooltip.js dans l'en-tête. L'ajout de ce code en pied de page fonctionne pour moi! mais quand j'ajoute le même code dans l'en-tête ça ne marche pas!
la source
$(function() { ... });
Si l'utilisation de Rails + Haml est beaucoup plus facile à inclure l'info-bulle, faites simplement:
C'est juste ajouter la ligne suivante à la fin de l'élément.
la source
Dans mon cas particulier, cela n'a pas fonctionné car j'incluais deux versions de jQuery. Un pour le bootstrap, mais un autre (une autre version) pour Google Charts.
Lorsque je supprime le chargement jQuery pour les graphiques, cela fonctionne bien.
la source
Je viens d'ajouter:
ci-dessous bootstrap.min.js et cela fonctionne.
la source
Permet d'utiliser un exemple pour montrer comment les info-bulles peuvent être ajoutées à n'importe quel élément HTML de votre document.
REMARQUE:
Si ces exemples d'infobulles ne fonctionnent pas lorsque vous les placez dans votre page, vous avez un autre problème. Vous devez regarder des choses comme:
Vérifiez si vous incluez le fichier JS qui fournit les fonctionnalités dont vous avez besoin (pas seulement pour les info-bulles, mais tous les composants que vous utilisez sur la page).
L'échec de N'IMPORTE QUEL des éléments ci-dessus peut (et fait souvent) empêcher le javascript de se charger et / ou de fonctionner, et cela garde tout agréable et cassé.
EXEMPLES DE TRAVAIL
Disons que vous avez un badge et que vous souhaitez qu'il affiche une info-bulle lorsque l'utilisateur survole.
HTML d'origine:
Infobulles Bootstrap simples
Si vous créez des info-bulles pour un élément HTML et que vous utilisez des info-bulles d'amorçage simple, alors vous serez responsable d'appeler les initialiseurs d'infobulles avec votre propre code JavaScript.
AVANT
APRÈS
INITIALISATEUR
Infobulles de modèles d'amorçage (comme INSPINIA)
Si vous utilisez un modèle d'amorçage (tel que INSPINIA), vous incluez un script de prise en charge pour prendre en charge les fonctionnalités du modèle:
Dans le cas d'INSPINIA, le script inclus initialise automatiquement toutes les info-bulles en exécutant le code javascript suivant une fois le chargement du document terminé:
Pour cette raison, vous n'avez PAS à initialiser vous-même les info-bulles de style INSPINIA. Mais vous devez formater vos éléments d'une manière spécifique. L'initialiseur recherche les éléments HTML avec
tooltip-demo
dans l'class
attribut, puis appelle latooltip()
méthode pour initialiser tous les éléments enfants qui ont l'attributdata-toggle="tooltip"
défini.Pour notre exemple insigne, placer un élément extérieur autour d' elle (comme un
<div>
ou<span>
) qui aclass="tooltip-demo"
, puis placez lesdata-toggle
,data-placement
et lestitle
attributs de l'info - bulle réelle au sein de l'élément qui est le badge. Modifiez le code HTML d'origine par le haut pour ressembler à ceci:AVANT
APRÈS
INITIALISATEUR
Notez que tous les éléments enfants dans le
<span class="tooltip-demo">
élément auront leur info-bulle correctement préparée. Je pourrais avoir trois éléments enfants, tous ayant besoin d'infobulles, et les placer dans un seul conteneur.Plusieurs éléments, chacun avec une info-bulle
La meilleure utilisation pour cela serait d'ajouter le
class="tooltip-demo"
à un<td>
ou un extérieur<div>
ou<span>
.Infobulles Bootstrap simples lors de l'utilisation d'un modèle
Si vous utilisez INSPINIA, mais que vous ne voulez pas ajouter de balises externes
<div>
ou supplémentaires<span>
pour créer des info-bulles, vous pouvez utiliser des info-bulles Bootstrap standard sans interférer avec le modèle. Dans ce cas, vous serez responsable de l'initialisation des info-bulles vous-même. Cependant, vous devez utiliser une valeur personnalisée dans l'class
attribut pour identifier vos éléments d'info-bulle. Cela empêchera votre initialiseur Tooltip d'interférer avec les éléments affectés par INSPINIA. Dans notre exemple, utilisonsstandalone-tt
:AVANT
APRÈS
INITIALISATEUR
la source
Si vous créez votre html qui contient l'info-bulle avec javascript, puis l'insérez dans le document, vous devez activer le popover / info-bulle APRÈS avoir inséré le html dans le document, pas au chargement du document ...
la source
Vous devez mettre l'info-bulle javascript après le html. comme ça :
Ou utilisez $ (document) .ready:
L'info-bulle ne fonctionne pas, car vous placez le HTML de l' info - bulle avant le javascript , donc ils ne savent pas s'il existe un javascript pour l'info-bulle. À mon avis, le script est lu de haut en bas.
la source
J'ai eu un problème similaire et surtout si vous utilisez un conteneur de boutons comme un conteneur de boutons vertical. Dans ce cas, vous devez définir le conteneur comme le «corps»
exemple
la source
Mettez votre code dans le document prêt
Dans mon cas, il me manquait également les classes CSS info-bulle sur http://twitter.github.com/bootstrap/assets/css/bootstrap.css, alors ne l'oubliez pas.
la source
À partir des documents de démarrage sur les info-bulles
Les info-bulles sont opt-in pour des raisons de performances, vous devez donc les initialiser vous-même. Une façon d'initialiser toutes les info-bulles d'une page serait de les sélectionner par leur attribut data-toggle:
la source
Ajoutez
data-toggle="tooltip"
les éléments que vous voulez avec une info-bulle.la source
Vous devez procéder comme suit. Ajouter le
code quelque part sur votre page (de préférence dans la
<head>
section).Ajoutez également
data-toggle: "tooltip"
à tout ce que vous souhaitez activer avec.la source
vous pouvez utiliser Popper.js
Et appelez la fonction info-bulle:
la source
Alternative rapide et plus légère au plug-in d'info-bulles Bootstrap:
HTML:
CSS:
JSCRIPT:
L'étiquette / texte doit être placé dans un wrapper de classe "mytooltip". Ce wrapper doit avoir un ID.
Après l'étiquette, il y a le texte de l'info-bulle enveloppé dans un div de la classe "mytooltiptext" et de l'id composé de l'id du wrapper parent + "_tttext". D'autres options pour les sélecteurs peuvent être utilisées.
J'espère que ça aide.
la source