Yo uso bootstrap 3 popover.
Y ahora me gustaría un enlace en el popvover de texto.
Código:
<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>
Pero cuando empiezo el código en html veo:
<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
Conozco ese problema en el símbolo. "
pero no sé tener agregar enlace en enlace …
Dime, por favor, ¿cómo será el código correcto?
PD: si la pregunta ya existe, dame el enlace.
Nikhil N.
tendrás que pasar html
opción con valor true
mientras inicializa popover como sigue.
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" target="_blank"
>
test link
</a>
-
Esto funciona, pero no en combinación con “Descartar en el siguiente clic” (= atributo data-trigger=”focus”).
– Wouter
13 de noviembre de 2016 a las 8:20
-
¿Las comillas simples (‘) son importantes dentro del contenido de datos?
– Naveen DA
30 de noviembre de 2016 a las 10:51
-
Sí, creo que sí.
– Nikhil N.
7 de diciembre de 2016 a las 5:10
-
Proporcioné una solución alternativa para el caso “Descartar en el siguiente clic” a continuación.
– Daniil Grankin
26 de marzo de 2018 a las 21:32
Simplemente use el atributo datos-html=”verdadero”.
<button
data-toggle="popover"
data-content="Link: <a href="https://stackoverflow.com/questions/20299246/xyz.com">XYZ</a>"
data-html="true">
CLICK
</button>
daniel grankin
solía data-trigger="focus"
y tuve un problema con un enlace en el contenido de popover. Si se hace clic con el botón del mouse en el enlace y se mantiene presionado por un momento, la ventana emergente desaparece y el enlace ‘no funciona’. Algunos clientes se quejaron de eso.
HTML
<a href="#" role="button" class="btn popovers" data-toggle="popover" data-trigger="focus" title="" data-content="test content <a href="https://stackoverflow.com/" title="test add link">link on content</a>" data-original-title="test title">test link</a>
JS
$("[data-toggle=popover]").popover({html:true})
Puedes reproducir el problema. aquí.
Usé lo siguiente código para solucionar el problema:
data-trigger="manual"
en html y
$("[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');
});
}
});
-
¡Me salvaste con esto! ¡Gracias!
– skybondsor
25 de agosto de 2020 a las 19:46
tim s
Si desea utilizar el enfoque y un enlace dentro de la ventana emergente que necesita para evitar que la ventana emergente se cierre al hacer clic dentro. La solución más limpia que encontré fue preventDefault
hace clic dentro de una ventana emergente que tiene el .popover
class o cualquier otra clase personalizada que defina.
$('body')
.on('mousedown', '.popover', function(e) {
e.preventDefault()
});
usuario7961627
<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>
Simplemente agregando data-html=”true” está funcionando con el atributo de enlace 🙂
antonio
Vale la pena señalar que, si bien las respuestas dadas son correctas, un enlace causará problemas cuando el data-trigger="focus"
Está aplicado. como descubrí de un cliente si el clic se produce rápidamente en una ventana emergente, se activará el enlace; si un usuario mantiene presionado el botón del mouse, desafortunadamente se activa el gatillo y se produce la ventana emergente. En resumen, considere si un enlace es necesario y planifique clics lentos.
David
$("body").on("mousedown",".my-popover-content a",function(e){
document.location = e.target.href;
});
lo hace por mí: básicamente, toma el asunto en tus propias manos. Nuevamente, esto es con opciones emergentes html: true
, sanitize: false
y trigger : "focus"