Bootstrap插件概览
在前面布局组件章节中所讨论的组件仅仅是个开始。Bootstrap自带的12种jQuery插件,扩展了功能,可以给站点添加更多的互动。即使您不是一名高级的js开发人员,
你也可以学习Bootstrap的js插件。利用Bootstrap数据api(Bootstrap Data API),大部分的插件可以在不编写任何代码的情况被触发。
站点引用bootstrap插件的方式有两种:
单独引用:使用Bootstrap的个别的*.js文件。一些插件和css组件依赖于其他插件。如果您单独引用插件,请先确保弄清楚这些插件之间的依赖关系。
编译(同时)引用:使用Bootstrap.js或压缩版的bootstrap.min.js
不要尝试同时引用这两个文件,因为bootstrap.js和bootstrap.min.js都包含了所有的插件。
所有的插件依赖于jQuery。所以必须在插件文件之前引用jQuery.请访问bower.json.查看boostrap当前支持的jQuery版本。
data属性
你可以仅仅通过data属性API就能使用所有的bootstap插件,无需写一行javascript代码。这是bootstrap中的一等api,也应该是你的首选方式。
话又说回来,在某些情况下可能需要将功能关闭。因此,我们还提供了关闭data属性API的方法,即解除以data-api为命名空间并绑定在文档上的事件。就像下面这样:
$(document).off('.data-api')
如需关闭一个特定的插件,只需要在data-api命名空间前加上该插件的名称作为命名空间即可,如下所示:
$(document).off('.alert.data-api')
编程方式的API
我们为所有Bootstrap插件提供纯javascript方式的API。所有公开的api都支持单独或链式调用方式,并且返回其所有操作的元素集合(注:和jQuery的调用形式一致)。
$('.btn.danger').button('toggle').addClass('fat')
所有的方法都可以接受一个可选的选项作为参数,或者一个代 ,表特定的方法的字符串,或者不带参数(这种情况下,将会初始插件为默认行为),如下所示
$('#myModel').modal();
//初始化不支持键盘
$('myModel').model({keyborad:false})
初始化并立即调用 show
$('#myModel').modal('show')
每个插件在Constructor属性上也暴露了其原始的构造函数:$.fn.popover.Constructor.如果你想获取某个特定插件的实例,可以直接通过页面元素获取
$('[rel=popover]').data('popover').
避免命名空间冲突
某些时候Bootstrap插件可能需要与其他ui框架一起使用.中这种情况下,可能会发生命名空间冲突。如果不幸发生了这种情况,你可以通过调用插件的
.noconflict方法恢复其原始值。
var bootstrapButton=$.fn.button.noConflict();
//为$().bootstrapBtn赋予Bootstrap功能
$.fn.bootstrapBtn=bootstrapButton
事件
Bootstrap为大多数插件的独特行为提供了自定义事件。一般来说,这些事件有两种形式
动词不定式:这会在事件开始时被触发。例如ex:show.动词不定式事件提供了preventDefault功能。这使得事件开始前可以停止操作的执行。
$('#myModel').on('show.bs.model',function(e)
//阻止模态框的显示
if(!data)return e.preventDefault();
过去分词形式:这会在动作执行完毕之后被触发。
)