Bootstrap Popover 隐藏的Javasript方法
2013-07-10 12:12 Justany_WhiteSnow 阅读(15248) 评论(0) 编辑 收藏 举报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 |
延时显示/隐藏时间 对象结构为 |
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() 方法来切换生效和无效状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构