J'essaie d'afficher du HTML dans un popover bootstrap, mais d'une manière ou d'une autre, cela ne fonctionne pas. J'ai trouvé quelques réponses ici mais cela ne fonctionnera pas pour moi. Veuillez me faire savoir si je fais quelque chose de mal.
<script>
$(function(){
$('[rel=popover]').popover({
html : true,
content: function() {
return $('#popover_content_wrapper').html();
}
});
});
</script>
<li href="#" id="example" rel="popover" data-content="" data-original-title="A Title">
popover
</li>
<div id="popover_content_wrapper" style="display: none">
<div>This is your div content</div>
</div>
html
twitter-bootstrap
popover
Adrian Mojica
la source
la source
Réponses:
Vous ne pouvez pas l'utiliser
<li href="#"
car il appartient à<a href="#"
c'est pourquoi cela ne fonctionnait pas, changez-le et tout va bien.Voici JSFiddle qui vous montre comment créer un popover bootstrap.
Les parties pertinentes du code sont ci-dessous:
HTML:
JavaScript:
Et au fait, vous devez toujours au moins
$("[data-toggle=popover]").popover();
activer le popover. Mais à la place dedata-toggle="popover"
vous, vous pouvez également utiliserid="my-popover"
ouclass="my-popover"
. N'oubliez pas de leur permettre d'utiliser par exemple:$("#my-popover").popover();
dans ces cas.Voici le lien vers la spécification complète: Bootstrap Popover
Prime:
Si, pour une raison quelconque, vous n'aimez pas ou ne pouvez pas lire le contenu d'une fenêtre contextuelle à partir des balises
data-toggle
ettitle
. Vous pouvez également utiliser par exemple des divs cachés et un peu plus de JavaScript. Voici un exemple à ce sujet.la source
vous pouvez utiliser l'attribut
data-html="true"
:la source
Une autre façon de spécifier le contenu popover d'une manière réutilisable est de créer un nouvel attribut de données comme
data-popover-content
et de l'utiliser comme ceci:HTML:
JS:
Cela peut être utile lorsque vous avez beaucoup de code HTML à placer dans vos popovers.
Voici un exemple de violon: http://jsfiddle.net/z824fn6b/
la source
Vous devez créer une instance popover dont l'option html est activée (placez-la dans votre fichier javascript après le code JS popover):
$('.popover-with-html').popover({ html : true });
la source
J'ai utilisé un pop dans une liste, je donne un exemple via HTML
la source
Il vous suffit de mettre
data-html="true"
le lien popover. Ça va marcher.la source
Ceci est une légère modification de l'excellente réponse de Jack .
Ce qui suit garantit que les popovers simples, sans contenu HTML, restent inchangés.
JavaScript:
la source
Je déteste vraiment mettre du long HTML à l'intérieur de l'attribut, voici ma solution, claire et simple (remplacez? Par ce que vous voulez):
puis
la source
C'est une vieille question, mais c'est une autre façon, en utilisant jQuery pour réutiliser le popover et pour continuer à utiliser les attributs de données d'amorçage d'origine pour le rendre plus sémantique:
Le lien
Contenu personnalisé à afficher
Javascript
Violon avec exemple complet: http://jsfiddle.net/tomsarduy/262w45L5/
la source
Vous pouvez changer le 'template / popover / popover.html' dans le fichier 'ui-bootstrap-tpls-0.11.0.js' Écrire: "bind-html-unsafe" au lieu de "ng-bind"
Il affichera tous les popover avec html. * son html dangereux. À utiliser uniquement si vous faites confiance au HTML.
la source
Vous pouvez utiliser l'événement popover et contrôler la largeur par l'attribut 'data-width'
la source
Ajoutez ceci au bas de votre fichier popper.js:
Source: https://github.com/twbs/bootstrap/issues/23590
la source