5.7 弹出框
源文件:popover.js、popovers.less
CSS文件:bootstrap.css 5302行之后
在讲述弹出框插件之前,先来看看该组件的两个运行效果,如图5-11和5-12所示。
图5-11 弹出框效果1
图5-12 弹出框效果2
有人可能会说,这不就是上一节的提示框(tooltip)插件嘛,就是样式不一样而已,可以通过template属性来定制。
是的,弹出框其实就是一种特殊的提示框,相比来说只是多了一个title标题而已,不带标题的效果2完全可以通过自定义tooltip来实现。那作者为何还提供这一个弹出框插件呢?我想,是因为两个用户体验不太一样吧,一个是提示,一个是弹出,弹出就意味着可以操作里面的内容,相对比较正式。
通过分析源码,笔者发现,两个插件只有以下两个不同点:
❑提示框的默认触发事件是hover和focus,而弹出框的默认触发事件是click。
❑提示框只有一个内容(即title),而弹出框不仅可以设置标题title,还可以设置内容content(也就是说模板不一样)。
两个插件的显示模板分别如下:
- // 提示框效果
- <div class="tooltip">
- <div class="tooltip-arrow"></div>
- <div class="tooltip-inner"></div>
- </div>
- // 弹出框效果
- <div class="popover">
- <div class="arrow"></div>
- <h3 class="popover-title"></h3>
- <div class="popover-content"></div>
- </div>
至此,你应该可以看出点名堂了吧。其实popover插件就是通过继承tooltip来实现的,源码分析小节会详细讲述。