Bootstrap Plugin de Popover

El popover es similar al tooltip y proporciona una vista ampliada. Para activar el popover, el usuario solo necesita pasar el cursor sobre el elemento. El contenido del popover se puede completar completamente con la API de datos de Bootstrap (Bootstrap Data API). Este método depende del tooltip.

Si desea hacer referencia a las funciones de este plugin por separado, necesitará hacer referencia apopover.js, que depende deel plugin de Tooltip. O, como se menciona enDescripción general de los plugins de Bootstrap, en el capítulo, puede hacer referencia abootstrap.jso la versión comprimida debootstrap.min.js。

Uso

El plugin de Popover genera contenido y marcado según sea necesario. De forma predeterminada, coloca el popover detrás de su elemento disparador. Puede agregar el popover de las siguientes dos maneras:

  • Mediante el atributo data: Para agregar un popover, solo agregue `data-toggle="popover"` a una etiqueta de ancla/botóndata-toggle="popover", y listo. El título del ancla es el texto del popover. De forma predeterminada, el plugin coloca el popover en la parte superior.
    <a href="../index.html" data-toggle="popover" title="Example popover">
        请悬停在我的上面
    </a>
    
  • Mediante JavaScript:Habilite el popover mediante JavaScript:
    $('#identifier').popover(options)
    

El plugin Popover no es un plugin de CSS puro, como los menús desplegables y otros plugins discutidos anteriormente. Para usar este plugin, debe activarlo con jQuery (lea javascript). Use el siguiente script para habilitar todos los popovers de la página:

$(function () { $("[data-toggle='popover']").popover(); });

Ejemplo

El siguiente ejemplo demuestra el uso del plugin Popover mediante el atributo data.

Ejemplo

<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="Algún contenido en el Popover izquierdo">Popover izquierdo</button> <button type="button" class="btn btn-primary" title="Popover title" data-container="body" data-toggle="popover" data-placement="top" data-content="Algún contenido en el Popover superior">Popover superior</button> <button type="button" class="btn btn-success" title="Popover title" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Algún contenido en el Popover inferior">Popover inferior</button> <button type="button" class="btn btn-warning" title="Popover title" data-container="body" data-toggle="popover" data-placement="right" data-content="Algún contenido en el Popover derecho">Popover derecho</button> </div> <script>
$(function (){ $("[data-toggle='popover']").popover(); });
</script> </div>

Pruébalo »

El resultado se muestra a continuación:

弹出框(Popover)插件

Opciones

Hay algunas opciones que se agregan mediante la API de datos de Bootstrap (Bootstrap Data API) o se invocan mediante JavaScript. La siguiente tabla enumera estas opciones:

Nombre de la opciónTipo/Valor predeterminadoNombre del atributo DataDescripción
animationboolean
Valor predeterminado: true
data-animationAplica un efecto de transición de desvanecimiento CSS al popover.
htmlboolean
Valor predeterminado: false
data-htmlInserta HTML en el popover. Si es false, se utilizará el método text de jQuery para insertar contenido en el DOM. Si le preocupan los ataques XSS, use text.
placementstring|function
Valor predeterminado: top
data-placementEspecifica cómo posicionar el popover (es decir, top|bottom|left|right|auto).
Cuando se especifica comoauto, el popover se ajusta dinámicamente. Por ejemplo, si placement es "auto left", el popover se mostrará lo más a la izquierda posible, y solo se mostrará a la derecha cuando las condiciones no lo permitan.
selectorstring
Valor predeterminado: false
data-selectorSi se proporciona un selector, el objeto popover será delegado al objetivo especificado.
titlestring | function
Valor predeterminado: ''
data-titleSi no se especificatitleel atributo, la opción title es el valor de title predeterminado.
triggerstring
Valor predeterminado: 'hover focus'
data-triggerDefine cómo se activa el popover: click| hover | focus | manual. Puede pasar múltiples disparadores, separados por espacios.
delaynumber | object
Valor predeterminado: 0
data-delayNúmero de milisegundos para retrasar la visualización y ocultación del popover; no se aplica al tipo de activación manual. Si se proporciona un número, el retraso se aplicará a la visualización y ocultación. Si se proporciona un objeto, la estructura es la siguiente:
delay:
{ show: 500, hide: 100 }
containerstring | false
Valor predeterminado: false
data-containerAgrega el popover al elemento especificado.
Ejemplo: container: 'body'

Métodos

A continuación se presentan algunos métodos útiles del plugin Popover:

MétodoDescripciónEjemplo
Options: .popover(options)Adjunta el controlador del popover a una colección de elementos.
$().popover(options)
Toggle: .popover('toggle')Alterna la visualización/ocultación del popover de un elemento.
$('#element').popover('toggle')
Show: .popover('show')Muestra el popover de un elemento.
$('#element').popover('show')
Hide: .popover('hide')Oculta el popover de un elemento.
$('#element').popover('hide')
Destroy: .popover('destroy')Oculta y destruye el popover de un elemento.
$('#element').popover('destroy')

Ejemplo

El siguiente ejemplo demuestra los métodos del plugin Popover:

Ejemplo

<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="Algún contenido en el Popover izquierdo — método show">Popover izquierdo</button> <button type="button" class="btn btn-primary popover-hide" title="Popover title" data-container="body" data-toggle="popover" data-placement="top" data-content="Algún contenido en el Popover superior — método hide">Popover superior</button> <button type="button" class="btn btn-success popover-destroy" title="Popover title" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Algún contenido en el Popover inferior — método destroy">Popover inferior</button> <button type="button" class="btn btn-warning popover-toggle" title="Popover title" data-container="body" data-toggle="popover" data-placement="right" data-content="Algún contenido en el Popover derecho — método toggle">Popover derecho</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>Algún contenido en el Popover — método options</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>

Pruébalo »

El resultado se muestra a continuación:

弹出框(Popover)插件方法

Eventos

La siguiente tabla enumera los eventos utilizados en el plugin Popover. Estos eventos se pueden usar como ganchos (hooks) en funciones.

EventoDescripciónEjemplo
show.bs.popoverEste evento se activa inmediatamente cuando se llama al método de instancia show.
$('#mypopover').on('show.bs.popover', function () {
  // 执行一些动作...
})
shown.bs.popoverEste evento se activa cuando el popover es visible para el usuario (esperará a que se complete la transición CSS).
$('#mypopover').on('shown.bs.popover', function () {
  // 执行一些动作...
})
hide.bs.popoverEste evento se activa inmediatamente cuando se llama al método de instancia hide.
$('#mypopover').on('hide.bs.popover', function () {
  // 执行一些动作...
})
hidden.bs.popoverEste evento se activa cuando el popover está oculto para el usuario (esperará a que se complete la transición CSS).
$('#mypopover').on('hidden.bs.popover', function () {
  // 执行一些动作...
})

Ejemplo

El siguiente ejemplo demuestra los eventos del plugin Popover:

Ejemplo

<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="Algún contenido en el Popover izquierdo — método show">Popover izquierdo</button> </div> <script>
$(function () { $('.popover-show').popover('show');}); $(function () { $('.popover-show').on('shown.bs.popover', function () { alert("Mensaje de alerta al mostrar"); }) });
</script> </div>

Pruébalo »

El resultado se muestra a continuación:

弹出框(Popover)插件事件
Otras extensiones