J'utilise bootstrap 3 popover.
Et maintenant je voudrais lien sur le texte popvover.
Code:
<a href="#"
role="button"
class="btn popovers"
data-toggle="popover"
title=""
data-content="test content <a href="" title="test add link">link on content</a>"
data-original-title="test title"
>
test link
</a>
Mais quand je commence le code en HTML je vois:
<a href="#" role="button" class="btn popovers" data-toggle="popover" title="" data-content="test content <a href=" "="">link on content</a>
"
data-original-title="test title"
>
test link
Je connais ce problème dans le symbole "
mais je ne sais pas comment ajouter un lien dans le lien ...
Dites-moi s'il vous plaît comment va être le code correct?
P.S .: si la question existe déjà, donnez-moi un lien.
Vous devrez passer l’option html
avec la valeur true
lors de l’initialisation du popover comme suit.
JS:
$("[data-toggle=popover]")
.popover({html:true})
HTML:
<a href="#" role="button" class="btn popovers" data-toggle="popover" title="" data-content="test content <a href='' title='test add link'>link on content</a>" data-original-title="test title">test link</a>
Utilisez simplement l'attribut data-html = "true" .
<button
data-toggle="popover"
data-content="Link: <a href='xyz.com'>XYZ</a>"
data-html="true">
CLICK
</button>
J'ai utilisé data-trigger="focus"
et j'ai eu un problème avec un lien dans le contenu de popover. Si vous cliquez sur le lien en maintenant le bouton de la souris enfoncé pendant un moment, le popover disparaît et le lien ne fonctionne pas Certains clients se sont plaints de cela ... Vous pouvez reproduire le problème ici .
J'ai utilisé le code suivant pour résoudre le problème:
data-trigger="manual"
en html et
$("[data-toggle=popover]")
.popover({ html: true})
.on("focus", function () {
$(this).popover("show");
}).on("focusout", function () {
var _this = this;
if (!$(".popover:hover").length) {
$(this).popover("hide");
}
else {
$('.popover').mouseleave(function() {
$(_this).popover("hide");
$(this).off('mouseleave');
});
}
});
<a href="#" class="btn popovers" data-toggle="popover" title="" data-content="test content <a href='' title='test add link'>link on content</a>" data-html="true"><i class="glyphicon glyphicon-info-sign"></i></a>
En ajoutant simplement data-html = "true", on utilise l'attribut link :)
Il est intéressant de noter que même si les réponses données sont correctes, un lien posera des problèmes lorsque le data-trigger="focus"
est appliqué. Comme je l'ai découvert d'un client, si le clic se produit rapidement sur un popover, le lien est activé, si un utilisateur appuie sur son bouton de la souris, le déclencheur se déclenche et le popover apparaît. En bref, déterminez si un lien est nécessaire et prévoyez des clics peu importants.
Si vous souhaitez utiliser focus et un lien dans la fenêtre contextuelle, vous devez empêcher sa fermeture lorsque vous cliquez à l'intérieur. La solution la plus propre que j'ai trouvée consistait à preventDefault
cliquer dans un Popup contenant la classe .popover
$('body')
.on('mousedown', '.popover', function(e) {
e.preventDefault()
});
});