弹出提示
弹出提示(popover.js)是工具提示的子类,它比工具提示多了一个 content 参数,是工具提示插件的拓展。
弹出框依赖于工具提示插件tooltip.js,如果你定制了 Bootstrap,就一定要将依赖的插件编译进去。
使用方法
你可以给任何元素添加弹出提示,并通过 title 属性定义提示的标题,通过 data-content 属性定义提示的内容。如:
<a href="#" title="popover" data-content="Here is popover content">Popover Example</a>
由于性能的原因,也不能通过 data 属性直接激活弹出提示插件,需要通过Javascript代码手动初始化它。只有初始化之后,鼠标单击链接时,才会显示相关的提示信息。否则,是不会显示任何提示信息的。
手动初始化弹出提示插件的方法很多。最简单的方法,是通过data-toggle属性一次性初始化页面上的所有弹出提示对象:
$(function () {
$('[data-toggle="popover"]').popover();
})
或者,你也可以单独初始化某个元素上的弹出提示对象。比如,以下代码就只激活 id='#example' 的链接元素上定义的弹出提示:
<a id="example" href="#" data-toggle="popover" title="Hello" data-content="Hi, Long time no see, how are you?">Say Hello</a>
$(function () {
$('#example').popover();
})
与工具提示不同的是,默认情况下,在鼠标单击链接时,才会显示工具提示。并且,弹出提示的默认位置在目标对象的右侧。运行效果如图 4‑8所示:
图4-8 弹出提示
通过 data-placement 属性,可以设置提示信息的显示位置,可选值有 top | bottom | left | right。效果如图 4‑9所示:
图4-9 弹出提示的显示位置
默认情况下,弹出提示一旦显示,就不会再隐藏。如果希望点击空白区域让弹出框消失,只需设置 data-trigger="focus"
属性即可。为了更好的跨浏览器和跨平台效果,你必须使用<a>
标签,而不能使用<button>
标签,并且,还必须包含role="button"
和tabindex
属性。如:
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">可消失的弹出框</a>
设置 data-trigger="focus"
属性以后,在链接上点击,会弹出提示信息,点击链接和提示框之外的空白区域,提示框便自动消失。
关于作者
歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。