Bootstrap Popover是Bootstrap的弹出提示控件。我们可以通过data属性或者Javascript来调用该控件。data属性调用定制性较差这里就不细说了,我们讲一下Javascript来调用。

初始化

$().popover(options)

对于jQuery选择器选到的元素调用jQuery.fn.popover(options)完成初始化,options是一个对象可以包含以下属性:

名称 类型 默认值 描述
animation boolean true 是否开启CSS动画
html boolean false 是否允许内容为HTML代码,为false则将代码以文本方式显示
placement string | function 'right' 弹出提示相对于被选中元素的位置,可以使top | bottom | right | left 四个方向
selector string false 如果有selector,则弹出提示将是该特殊元素
trigger string 'click' 弹出提示在何时出现 - click | hover | focus | manual
title string | function '' 标题
content string | function '' 提示内容
delay number | object 0

延时显示/隐藏时间

对象结构为 delay: { show: 500, hide: 100 }

container string | false false

将提示框放在特定的容器里

基本方法

.popover('show')

显示提示。

.popover('hide')

隐藏提示。

.popover('toggle')

显示/隐藏提示。

.popover('destroy')

销毁

更多需求

一般这些方法可以满足要求。

  • 但是如果我们想对弹出提示写入HTML,并对里面的元素进行事件绑定,可能就出现问题了,因为文档没有告诉你怎么获得该弹出提示对象。
  • 或者,如果我不想让该弹出提示弹出时候,除了销毁,我们也没有更好的办法,可是销毁后,想再次使用只能再次初始化……
  • 又或者……

实际上Bootstrap有些隐藏的方法能满足我们的需求。

注:实际上很多方法可以使用类似于.popover('xxx')的方法调用,但某些需要获取其返回值得方法却不能使用,因为我们知道jQuery中的方法一般都会返回this,所以我们没法得到我们想要的东东。所以为了统一,我们推荐用下面的方法调用。

获取Popover对象

实际上,弹出提示是由内建的Popover对象管理的,jQuery.fn.popover方法只是调用Popover对象中的方法而已。所以首要是取出Popover对象供我们使用,而这一对象又在该元素的jQuery缓存中,我们可以这样取出:

$().data('popover');

例如:

var popoverObj = $('#element').data('popover');

然后我们就可以通过该对象的方法来完成我们想做的东西。

获取弹出提示对象

Popover.tip();

我们可以使用该方法返回jQuery包装后的弹出提示对象,然后进行事件绑定,例如:

popoverObj.tip().on('click', '#someElement', function(evt){
//do something...
})

使弹出提示有效或无效

利用Popover.enable() 和 Popover.disable() 方法可以很容易使弹出框生效或无效,而不是销毁他。

当然我们也可以用Popover.toggleEnabled() 方法来切换生效和无效状态。

最新文章

  1. webapi - 使用依赖注入
  2. FlashBuilder 新建项目时提示 java.lang.nullpointerexception
  3. Linux字符设备驱动解析
  4. Cannot fetch index base URL https://pypi.python.org/simple/
  5. Spring+hibernate+struts
  6. Ubuntu的一些常用快捷键
  7. Controller简介
  8. OC多线程管理
  9. 特性节点Attribute
  10. Android问题-XE5提示"[DCC Fatal Error] Project1.dpr(1): F1027 Unit not found: 'System.pas' or binary equivalents (.dcu/.o)"
  11. AllocateHwnd is not Thread-Safe
  12. 【转】Xcode 7 真机调试详细步骤
  13. 运行指定路径下的exe
  14. FZU Problem 2214 Knapsack problem(背包+思维转换)
  15. Django之Cookie
  16. 学JAVA第十二天,今天写java控制台输入流及String的类型转换
  17. 性能测试过程中oracle数据库报ORA-27301 ORA-27302错
  18. 面试 5:手写 Java 的 pow() 实现
  19. llegalStateException: getWriter() has already been called for this response
  20. SDUT 3002-素数间隙(素数筛+暴力)

热门文章

  1. MySQL的timestamp类型自动更新问题
  2. 浅谈 .NET 中的对象引用、非托管指针和托管指针 理解C#中的闭包
  3. 迁移TFS,批量将文档导入SharePoint 2013 文档库
  4. 【Python】Windows平台下Python、Pydev连接Mysql数据库
  5. Python endswith() 函数
  6. SNF平台从sql server兼容oracle的处理方式和开发方式
  7. Appium 点击屏幕
  8. xbox360 双65厚机自制系统无硬盘 U盘玩游戏方法
  9. php AES cbc模式 pkcs7 128位加密解密(微信小程序)
  10. kafka 监控(eagle)