Bootstrap JS Popover 插件

JS Popover (popover.js)

Popover 插件类似于工具提示,它是一个弹出框,当用户单击某个元素时会出现。不同之处在于,popover 可以包含更多内容。

插件依赖性: Popovers 要求工具提示插件(tooltip.js)包含在您的 Bootstrap 版本中。

学习更多的 Popover 知识, 可以访问本站的 Bootstrap 弹出框教程


通过 data-* 属性

data-toggle=”popover" 激活弹出框。

title 属性指定弹出框的标题内容。

data-content 属性指定应显示在 popover 主体内的文本。

实例
  1. <a href="#" data-toggle="popover" title="Popover Header" data-content="Some content inside the popover">Toggle popover</a>

通过 JavaScript

Popover 不是仅限于 CSS 的插件,因此必须使用 jQuery 初始化:选择指定的元素并调用 popover() 方法。

实例
  1. // Select all
  2. elements with data-toggle="popover" in the document
  3. $('[data-toggle="popover"]').popover();
  4. // Select a specified
  5. element
  6. $('#myPopover').popover();

Popover Options

Options 可以通过数据属性或 JavaScript 传递。对于数据属性,请将选项名称附加到 data-,如 data-backdrop=""

名称类型默认描述试一试
animationbooleantrue

指定在打开和关闭 popover 时是否添加 CSS 淡入淡出过渡效果

  • true - 添加淡入淡出效果
  • false - 不添加淡出效果
试一试
containerstring 或 falsefalse将 popover 附加到一个指定元素。
比如: container: 'body'
试一试
contentstring""指定 popover 主体内的文本试一试
delaynumber, 或 object0指定打开和关闭 popover 所需的毫秒数。

要指定打开延迟和关闭延迟,请使用对象结构:

delay: {show: 500, hide: 100} - 表示打开 popover 需要 500 毫秒,但关闭 popover 只需要 100 毫秒
试一试
htmlboolean false指定 popover 中是否可以使用 HTML 标记:
 
  • true - 可以使用 HTML 标记
  • false - 不能使用 HTMl 标记
备注: HTML 必须插入到 title 属性中(或使用 title 选项)。

当设置为 false (默认), jQuery 的 text() 方法将会启用。如果您担心 XSS 攻击可以使用这个。
试一试
placementstring"right"指定 popover 的位置。值可以为:

  • "top" - 顶部弹出
  • "bottom" - 底部弹出
  • "left" - 左边弹出
  • "right" - 右边弹出
  • "auto" - 让浏览器决定 popover 的位置。例如,如果值为 "auto left",则 popover 将尽可能显示在左侧,否则将显示在右侧。如果该值为 "auto bottom",则 popover 将尽可能显示在底部,否则显示在顶部
试一试
selectorstring 或 falsefalse将 popover 添加到指定的选择器试一试
templatestring 创建 popover 时要使用的基本 HTML。

popover 的标题将被注入到 .popover-title

popover 的内容将被注入到 .popover-content.

.arrow 将变成 popover 的箭头

最外层的元素应该具有 .popover 样式类
titlestring""指定 popover 标题的文本试一试
triggerstring"click"指定 popover 如何触发。值可以为:

  • "click" - 点击 popover 触发
  • "hover" - 鼠标悬停 popover 触发
  • "focus" - 当 popover 获得焦点时触发(比如通过标签或点击)
  • "manual" - 手动触发 popover
提示: 要传递多个值,请用空格分隔
试一试
viewportstring, 或 object{selector: "body", padding: 0}将 popover 保持在此元素的范围内。

例如: viewport: '#viewport' 或 {selector: '#viewport', padding: 0}

Popover 方法

下表列出了所有可用的 popover 方法。

方法描述试一试
.popover(options)用一个选项激活 popover。有关有效值,请参见上面的选项试一试
.popover("show")显示 popover试一试
.popover("hide")隐藏 popover试一试
.popover("toggle")切换 popover试一试
.popover("destroy")隐藏并销毁 popover试一试

Popover 事件

下表列出了所有可用的 popover 事件。

事件描述试一试
show.bs.popover 在即将显示 popover 时发生试一试
shown.bs.popover 在 popover 完全显示时发生(CSS 过渡完成后)试一试
hide.bs.popover 在 popover 即将隐藏时发生试一试
hidden.bs.popover 在 popover 完全隐藏时发生(CSS 过渡完成后)试一试

更多实例

自定义 Popover 设计

使用 CSS 自定义 popover 的外观:

实例
  1. /* Popover */
  2. .popover {
  3. border: 2px dotted red;
  4. }
  5. /* Popover Header */
  6. .popover-title {
  7. background-color: #73AD21;
  8. color: #FFFFFF;
  9. font-size: 28px;
  10. text-align:center;
  11. }
  12. /* Popover Body */
  13. .popover-content {
  14. background-color: coral;
  15. color: #FFFFFF;
  16. padding: 25px;
  17. }
  18. /* Popover Arrow */
  19. .arrow {
  20. border-right-color: red !important;
  21. }