Bootstrap - Complemento Popover
La ventana emergente es similar a la información sobre herramientas, que ofrece una vista ampliada completa con un encabezado. Para que se active el popover, el usuario solo necesita colocar el cursor sobre el elemento. El contenido de la ventana emergente se puede completar por completo utilizando Bootstrap Data API. Este método requiere información sobre herramientas.
Si desea incluir esta funcionalidad de complemento individualmente, necesitará el popover.jsy tiene una dependencia del complemento de información sobre herramientas . De lo contrario, como se menciona en el capítulo Descripción general de los complementos de Bootstrap , puede incluir bootstrap.js o bootstrap.min.js minificado .
Uso
El complemento popover genera contenido y marcado a pedido y, de forma predeterminada, coloca el popover después de su elemento disparador. Puede agregar popover de las siguientes dos formas:
Via data attributes - Para agregar un popover, agregue data-toggle = "popover"a una etiqueta de ancla / botón. El título del ancla será el texto de un popover. De forma predeterminada, el plugin establece popover en la parte superior.
<a href = "#" data-toggle = "popover" title = "Example popover">
Hover over me
</a>
Via JavaScript - Habilite popovers a través de JavaScript usando la siguiente sintaxis -
$('#identifier').popover(options)
El complemento Popover NO es solo complementos CSS como el menú desplegable u otros complementos discutidos en capítulos anteriores. Para usar este complemento, DEBE activarlo usando jquery (lea javascript). Para habilitar todos los elementos emergentes en su página, simplemente use este script:
$(function () { $("[data-toggle = 'popover']").popover(); });
Ejemplo
El siguiente ejemplo demuestra el uso del complemento popover mediante atributos de datos.
<div class = "container" style = "padding: 100px 50px 10px;" >
<button type = "button" class = "btn btn-default" title = "Popover title"
data-container = "body" data-toggle = "popover" data-placement = "left"
data-content = "Some content in Popover on left">
Popover on left
</button>
<button type = "button" class = "btn btn-primary" title = "Popover title"
data-container = "body" data-toggle = "popover" data-placement = "top"
data-content = "Some content in Popover on top">
Popover on top
</button>
<button type = "button" class = "btn btn-success" title = "Popover title"
data-container = "body" data-toggle = "popover" data-placement = "bottom"
data-content = "Some content in Popover on bottom">
Popover on bottom
</button>
<button type = "button" class = "btn btn-warning" title = "Popover title"
data-container = "body" data-toggle = "popover" data-placement = "right"
data-content = "Some content in Popover on right">
Popover on right
</button>
</div>
<script>
$(function (){
$("[data-toggle = 'popover']").popover();
});
</script>
Opciones
Hay ciertas opciones que se pueden agregar a través de Bootstrap Data API o invocar a través de JavaScript. La siguiente tabla enumera las opciones:
Nombre de opción | Tipo / Valor predeterminado | Nombre del atributo de datos | Descripción |
---|---|---|---|
animación | booleano predeterminado - verdadero | animación de datos | Aplica una transición de atenuación CSS a la ventana emergente. |
html | booleano Predeterminado - falso | datos-html | Inserta HTML en el popover. Si es falso, se usará el método de texto de jQuery para insertar contenido en el dom. Utilice texto si le preocupan los ataques XSS. |
colocación | cadena | función Predeterminado - arriba | colocación de datos | Especifica cómo colocar el popover (es decir, arriba | abajo | izquierda | derecha | automático). Cuando se especifica auto , reorientará dinámicamente el popover. Por ejemplo, si la ubicación es "automáticamente a la izquierda", la ventana emergente se mostrará a la izquierda cuando sea posible; de lo contrario, se mostrará a la derecha. |
selector | cadena Por defecto - falso | selector de datos | Si se proporciona un selector, los objetos popover se delegarán a los destinos especificados. |
título | cadena | función predeterminada - " | título de datos | La opción de título es el valor de título predeterminado si el atributo de título no está presente. |
desencadenar | string Default - 'hover focus' | disparador de datos | Define cómo se activa el popover - click| hover | focus | manual. Puede pasar varios factores desencadenantes; sepárelos con un espacio. |
retrasar | numero | objeto Predeterminado - 0 | retraso de datos | Retrasos que muestran y ocultan la ventana emergente en ms: no se aplica al tipo de disparo manual. Si se proporciona un número, se aplica un retraso tanto para ocultar como para mostrar. La estructura del objeto es - |
envase | cadena | falso Por defecto - falso | contenedor de datos | Agrega el popover a un elemento específico. Ejemplo: contenedor: 'cuerpo' |
Métodos
Los siguientes son algunos métodos útiles para popover:
Método | Descripción | Ejemplo |
---|---|---|
Options - .popover (opciones) |
Adjunta un controlador de popover a una colección de elementos. | |
Toggle - .popover ('alternar') |
Alterna la ventana emergente de un elemento. | |
Show - .popover ('mostrar') |
Revela el popover de un elemento. | |
Hide - .popover ('ocultar') |
Oculta la ventana emergente de un elemento. | |
Destroy - .popover ('destruir') |
Oculta y destruye el popover de un elemento. | |
Ejemplo
El siguiente ejemplo demuestra los métodos del complemento popover:
<div class = "container" style = "padding: 100px 50px 10px;" >
<button type = "button" class = "btn btn-default popover-show"
title = "Popover title" data-container = "body"
data-toggle = "popover" data-placement = "left"
data-content = "Some content in Popover with show method">
Popover on left
</button>
<button type = "button" class = "btn btn-primary popover-hide"
title = "Popover title" data-container = "body"
data-toggle = "popover" data-placement = "top"
data-content = "Some content in Popover-hide method">
Popover on top
</button>
<button type = "button" class = "btn btn-success popover-destroy"
title = "Popover title" data-container = "body"
data-toggle = "popover" data-placement = "bottom"
data-content = "Some content in Popover-destroy method">
Popover on bottom
</button>
<button type = "button" class = "btn btn-warning popover-toggle"
title = "Popover title" data-container = "body"
data-toggle = "popover" data-placement = "top"
data-content = "Some content in Popover-toggle method">
Popover on right
</button>
<br><br><br><br><br><br>
<p class = "popover-options">
<a href = "#" type = "button" class = "btn btn-warning"
title = "<h2>Title</h2>" data-container = "body"
data-toggle = "popover" data-content = "
<h4>Some content in Popover-options method</h4>">
Popover
</a>
</p>
<script>
$(function () { $('.popover-show').popover('show');});
$(function () { $('.popover-hide').popover('hide');});
$(function () { $('.popover-destroy').popover('destroy');});
$(function () { $('.popover-toggle').popover('toggle');});
$(function () { $(".popover-options a").popover({html : true });});
</script>
</div>
Eventos
La siguiente tabla enumera los eventos que funcionan con el complemento popover. Este evento puede usarse para conectarse a la función.
Evento | Descripción | Ejemplo |
---|---|---|
show.bs.popover | Este evento se activa inmediatamente cuando se llama al método show instance. | |
show.bs.popover | Este evento se activa cuando el popover se ha hecho visible para el usuario (esperará a que se completen las transiciones CSS). | |
hide.bs.popover | Este evento se dispara inmediatamente cuando se llama al método de la instancia oculta. | |
hidden.bs.popover | Este evento se activa cuando el popover ha terminado de ocultarse al usuario (esperará a que se completen las transiciones CSS). | |
Ejemplo
El siguiente ejemplo demuestra los eventos del complemento Popover:
<div clas = "container" style = "padding: 100px 50px 10px;" >
<button type = "button" class = "btn btn-primary popover-show"
title = "Popover title" data-container = "body" data-toggle = "popover"
data-content = "Some content in Popover with show method">
Popover on left
</button>
</div>
<script>
$(function () { $('.popover-show').popover('show');});
$(function () { $('.popover-show').on('shown.bs.popover', function () {
alert("Alert message on show");
})});
</script>