Popovers
Documentación y ejemplos para agregar popovers de Bootstrap, como los que se encuentran en iOS, a cualquier elemento de su sitio.
Cosas que debe saber al usar el complemento popover:
- Los popovers se basan en la biblioteca de terceros Popper.js para el posicionamiento. ¡Debe incluir popper.min.js antes de bootstrap.js o usar
bootstrap.bundle.min.js
/bootstrap.bundle.js
que contiene Popper.js para que funcionen los popovers! - Los popovers requieren el complemento de información sobre herramientas como una dependencia.
- Si está compilando nuestro JavaScript desde la fuente, requiere
util.js
. - Los popovers son opcionales por motivos de rendimiento, por lo que debe inicializarlos usted mismo .
- La longitud cero
title
ycontent
los valores nunca mostrarán un popover. - Especifique
container: 'body'
para evitar problemas de representación en componentes más complejos (como nuestros grupos de entrada, grupos de botones, etc.). - Activar popovers en elementos ocultos no funcionará.
- Los popovers para elementos
.disabled
ordisabled
deben activarse en un elemento contenedor. - Cuando se activan desde anclas que se envuelven en varias líneas, los popovers se centrarán entre el ancho total de las anclas. Úselo
.text-nowrap
en su<a>
s para evitar este comportamiento. - Los popovers deben ocultarse antes de que sus elementos correspondientes se eliminen del DOM.
Sigue leyendo para ver cómo funcionan los popovers con algunos ejemplos.
Una forma de inicializar todos los popovers en una página sería seleccionarlos por su data-toggle
atributo:
Cuando tiene algunos estilos en un elemento principal que interfieren con una ventana emergente, querrá especificar un personalizado container
para que el HTML de la ventana emergente aparezca dentro de ese elemento.
Hay cuatro opciones disponibles: alineación superior, derecha, inferior e izquierda.
Utilice el focus
activador para descartar popovers en el siguiente clic del usuario en un elemento diferente al elemento de alternancia.
Marcado específico requerido para descartar al siguiente clic
Para un comportamiento adecuado entre navegadores y plataformas, debe usar la <a>
etiqueta, no la <button>
etiqueta, y también debe incluir un tabindex
atributo.
Los elementos con el disabled
atributo no son interactivos, lo que significa que los usuarios no pueden pasar el mouse sobre ellos ni hacer clic en ellos para activar una ventana emergente (o información sobre herramientas). Como solución alternativa, deseará activar la ventana emergente desde un envoltorio <div>
o <span>
anular el pointer-events
elemento deshabilitado.
Para los activadores de ventanas emergentes deshabilitadas, también puede preferir data-trigger="hover"
que la ventana emergente aparezca como una respuesta visual inmediata a sus usuarios, ya que es posible que no esperen hacer clic en un elemento deshabilitado.
Habilitar ventanas emergentes a través de JavaScript:
Las opciones se pueden pasar a través de atributos de datos o JavaScript. Para los atributos de datos, agregue el nombre de la opción a data-
, como en data-animation=""
.
Nombre | Escribe | Defecto | Descripción |
---|---|---|---|
animación | booleano | verdadero | Aplicar una transición de fundido CSS al popover |
envase | cadena | elemento | falso | falso | Agrega el popover a un elemento específico. Ejemplo: |
contenido | cadena | elemento | función | '' | Valor de contenido predeterminado si el Si se proporciona una función, se llamará con su |
demora | número | objeto | 0 | Retraso en mostrar y ocultar el popover (ms) - no se aplica al tipo de activación manual Si se proporciona un número, la demora se aplica tanto para ocultar/mostrar La estructura del objeto es: |
html | booleano | falso | Inserte HTML en la ventana emergente. Si es falso, se text usará el método de jQuery para insertar contenido en el DOM. Use texto si le preocupan los ataques XSS. |
colocación | cadena | función | 'Correcto' | Cómo colocar el popover - automático | parte superior | abajo | izquierda | Correcto. Cuando se usa una función para determinar la ubicación, se llama con el nodo DOM emergente como primer argumento y el nodo DOM del elemento desencadenante como segundo. El |
selector | cadena | falso | falso | Si se proporciona un selector, los objetos emergentes se delegarán a los destinos especificados. En la práctica, esto se usa para permitir que se agreguen popovers al contenido HTML dinámico. Vea esto y un ejemplo informativo . |
modelo | cuerda | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
HTML base para usar al crear el popover. Los popover Los popover
El elemento contenedor más externo debe tener la |
título | cadena | elemento | función | '' | Valor de título predeterminado si Si se proporciona una función, se llamará con su |
generar | cuerda | 'hacer clic' | Cómo se activa el popover: haga clic en | flotar | enfoque | manual. Puede pasar varios disparadores; sepáralos con un espacio. manual no se puede combinar con ningún otro disparador. |
compensar | número | cuerda | 0 | Desplazamiento del popover relativo a su destino. Para obtener más información, consulte los documentos de compensación de Popper.js . |
ubicación alternativa | cadena | formación | 'dar la vuelta' | Permita especificar qué posición usará Popper en la reserva. Para obtener más información, consulte los documentos de comportamiento de Popper.js. |
Perímetro | cadena | elemento | 'padre de desplazamiento' | Límite de restricción de desbordamiento del popover. Acepta los valores de 'viewport' , 'window' , 'scrollParent' o una referencia HTMLElement (solo JavaScript). Para obtener más información, consulte los documentos de preventOverflow de Popper.js . |
Atributos de datos para ventanas emergentes individuales
Las opciones para ventanas emergentes individuales se pueden especificar alternativamente mediante el uso de atributos de datos, como se explicó anteriormente.
Transiciones y métodos asíncronos
Todos los métodos de API son asíncronos e inician una transición . Vuelven a la persona que llama tan pronto como se inicia la transición, pero antes de que finalice . Además, se ignorará una llamada de método en un componente en transición .
Consulte nuestra documentación de JavaScript para obtener más información.
Inicializa popovers para una colección de elementos.
Revela el popover de un elemento. Vuelve a la persona que llama antes de que se haya mostrado realmente el popover (es decir, antes de shown.bs.popover
que ocurra el evento). Esto se considera una activación "manual" del popover. Los popovers cuyo título y contenido tienen una longitud cero nunca se muestran.
Oculta el popover de un elemento. Vuelve a la persona que llama antes de que se haya ocultado el popover (es decir, antes de hidden.bs.popover
que ocurra el evento). Esto se considera una activación "manual" del popover.
Alterna el popover de un elemento. Vuelve a la persona que llama antes de que se muestre u oculte el popover (es decir, antes de que ocurra el evento shown.bs.popover
o ). hidden.bs.popover
Esto se considera una activación "manual" del popover.
Oculta y destruye el popover de un elemento. Los popovers que usan delegación (que se crean usando la selector
opción ) no se pueden destruir individualmente en elementos desencadenantes descendientes.
Le da al popover de un elemento la capacidad de mostrarse. Los popovers están habilitados de manera predeterminada.
Elimina la capacidad de mostrar el popover de un elemento. El popover solo se podrá mostrar si se vuelve a habilitar.
Alterna la capacidad de mostrar u ocultar la ventana emergente de un elemento.
Actualiza la posición del popover de un elemento.
Tipo de evento | Descripción |
---|---|
mostrar.bs.popover | Este evento se activa inmediatamente cuando show se llama al método de instancia. |
mostrado.bs.popover | Este evento se activa cuando el popover se hace visible para el usuario (esperará a que se completen las transiciones de CSS). |
ocultar.bs.popover | Este evento se activa inmediatamente cuando hide se llama al método de instancia. |
oculto.bs.popover | Este evento se activa cuando el popover ha terminado de ocultarse para el usuario (esperará a que se completen las transiciones de CSS). |
insertado.bs.popover | Este evento se activa después del show.bs.popover evento cuando la plantilla de ventana emergente se ha agregado al DOM. |