在前面 布局组件 章节中所讨论到的组件仅仅是个开始。Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动。即使您不是一名高级的 JavaScript 开发人员,您也可以着手学习 Bootstrap 的 JavaScript 插件。利用 Bootstrap 数据 API(Bootstrap Data API),大部分的插件可以在不编写任何代码的情况被触发。
Bootstrap除了包含丰富的Web组件之外,如前面介绍的下拉菜单、按钮组、导航、分页等。他还包括一些JavaScript的插件。
Bootstrap的JavaScript插件可以单独导入到页面中,也可以一次性导入到页面中。因为在Bootstrap中的JavaScript插件都是依赖于jQuery库,所以不论是单独导入还一次性导入之前必须先导入jQuery库。
一次性导入:
Bootstrap提供了一个单一的文件,这个文件包含了Bootstrap的所有JavaScript插件,即bootstrap.js
(压缩版本:bootstrap.min.js
)。
<!—导入jQuery版本库,因为Bootstrap的JavaScript插件依赖于jQuery -->
<script src="/jquery/1.9.0/jquery.js"></script>
<!—- 一次性导入所有Bootstrap的JavaScript插件(压缩版本) -->
<script src="js/bootstrap.min.js"></script>
单独导入:
为方便单独导入特效文件,Bootstrap V3.2中提供了12种JavaScript插件,他们分别是:
? 动画过渡(Transitions):对应的插件文件“transition.js”
? 模态弹窗(Modal):对应的插件文件“modal.js”
? 下拉菜单(Dropdown):对应的插件文件“dropdown.js”
? 滚动侦测(Scrollspy):对应的插件文件“scrollspy.js”
? 选项卡(Tab):对应的插件文件“tab.js”
? 提示框(Tooltips):对应的插件文件“tooltop.js”
? 弹出框(Popover):对应的插件文件“popover.js”
? 警告框(Alert):对应的插件文件“alert.js”
? 按钮(Buttons):对应的插件文件“button.js”
? 折叠/手风琴(Collapse):对应的插件文件“collapse.js”
? 图片轮播Carousel:对应的插件文件“carousel.js”
? 自动定位浮标Affix:对应的插件文件“affix.js”
上述单独插件的下载可到github去下载(https://github.com/twbs/bootstrap)。
下载后可查看js文件夹,如下图:
你可以仅仅通过 data
属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码。这是 Bootstrap 中的一等 API,也应该是你的首选方式。
话又说回来,在某些情况下可能需要将此功能关闭。因此,我们还提供了关闭 data
属性 API 的方法,即解除以 data-api
为命名空间并绑定在文档上的事件。就像下面这样:
$(document).off(‘.data-api‘)
如需关闭一个特定的插件,只需要在 data-api
命名空间前加上该插件的名称作为命名空间即可,如下所示:
$(document).off(‘.alert.data-api‘)
我们为所有 Bootstrap 插件提供了纯 JavaScript 方式的 API。所有公开的 API 都是支持单独或链式调用方式,并且返回其所操作的元素集合(注:和jQuery的调用形式一致)。例如:
$(".btn.danger").button("toggle").addClass("fat")
所有的方法都可以接受一个可选的选项对象作为参数,或者一个代表特定方法的字符串,或者不带任何参数(这种情况下,将会初始化插件为默认行为),如下所示:
// 初始化为默认行为
$("#myModal").modal()
// 初始化为不支持键盘
$("#myModal").modal({ keyboard: false })
// 初始化并立即调用 show
$("#myModal").modal(‘show‘)
每个插件在 Constructor 属性上也暴露了其原始的构造函数:$.fn.popover.Constructor
。如果您想获取某个特定插件的实例,可以直接通过页面元素获取:
$(‘[rel=popover]‘).data(‘popover‘).
某些时候 Bootstrap 插件可能需要与其他 UI 框架一起使用。在这种情况下,可能会发生命名空间冲突。如果不幸发生了这种情况,你可以通过调用插件的 .noConflict
方法恢复其原始值。
// 返回 $.fn.button 之前所赋的值
var bootstrapButton = $.fn.button.noConflict()
// 为 $().bootstrapBtn 赋予 Bootstrap 功能
$.fn.bootstrapBtn = bootstrapButton
Bootstrap 为大多数插件的独特行为提供了自定义事件。一般来说,这些事件有两种形式:
动词不定式:这会在事件开始时被触发。例如 ex: show
。动词不定式事件提供了 preventDefault
功能。这使得在事件开始前可以停止操作的执行。
$(‘#myModal‘).on(‘show.bs.modal‘, function (e) {
// 阻止模态框的显示
if (!data) return e.preventDefault()
})
过去分词形式:这会在动作执行完毕之后被触发。例如 ex: shown
。
版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226
深入理解BootStrap Item18 -- js插件概览(API)
原文:http://blog.csdn.net/i10630226/article/details/49913301