详解Bootstrap插件


Posted in Javascript onApril 25, 2016

在前面 布局组件 章节中所讨论到的组件仅仅是个开始。Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动。即使您不是一名高级的 JavaScript 开发人员,您也可以着手学习 Bootstrap 的 JavaScript 插件。利用 Bootstrap 数据 API(Bootstrap Data API),大部分的插件可以在不编写任何代码的情况被触发。

站点引用 Bootstrap 插件的方式有两种

单独引用:使用 Bootstrap 的个别的 *.js 文件。一些插件和 CSS 组件依赖于其他插件。如果您单独引用插件,请先确保弄请这些插件之间的依赖关系。
编译(同时)引用:使用 bootstrap.js 或压缩版的 bootstrap.min.js。
“不要尝试同时引用这两个文件,因为 bootstrap.js 和 bootstrap.min.js 都包含了所有的插件。”

所有的插件依赖于 jQuery。所以必须在插件文件之前引用 jQuery。请访问 bower.json 查看 Bootstrap 当前支持的 jQuery 版本。

1、data 属性
你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码。这是 Bootstrap 中的一等 API,也应该是你的首选方式。
话又说回来,在某些情况下可能需要将此功能关闭。因此,我们还提供了关闭 data 属性 API 的方法,即解除以 data-api 为命名空间并绑定在文档上的事件。就像下面这样:
$(document).off('.data-api')
如需关闭一个特定的插件,只需要在 data-api 命名空间前加上该插件的名称作为命名空间即可,如下所示:
$(document).off('.alert.data-api')

2、编程方式的 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').

3、避免命名空间冲突
某些时候 Bootstrap 插件可能需要与其他 UI 框架一起使用。在这种情况下,可能会发生命名空间冲突。如果不幸发生了这种情况,你可以通过调用插件的 .noConflict 方法恢复其原始值。

// 返回 $.fn.button 之前所赋的值
var bootstrapButton = $.fn.button.noConflict()
// 为 $().bootstrapBtn 赋予 Bootstrap 功能             
$.fn.bootstrapBtn = bootstrapButton

4、事件
Bootstrap 为大多数插件的独特行为提供了自定义事件。一般来说,这些事件有两种形式:

动词不定式:这会在事件开始时被触发。例如 ex: show。动词不定式事件提供了 preventDefault 功能。这使得在事件开始前可以停止操作的执行。

$('#myModal').on('show.bs.modal', function (e) {
// 阻止模态框的显示
 if (!data) return e.preventDefault()
})

过去分词形式:这会在动作执行完毕之后被触发。例如 ex: shown。

以上就是Bootstrap插件的简单概述,希望对大家了解Bootstrap插件有所帮助。

Javascript 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
Apr 15 Javascript
jQuery 源码分析笔记(2) 变量列表
May 28 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
使用js 设置url参数
Jul 08 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 Javascript
AngularJS表单基本操作
Jan 09 Javascript
JS和canvas实现俄罗斯方块
Mar 14 Javascript
jQuery插件imgAreaSelect基础讲解
May 26 jQuery
深入理解vue.js中$watch的oldvalue与newValue
Aug 07 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 Javascript
vue中keep-alive组件的入门使用教程
Jun 06 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 #Javascript
第六章之辅组类与响应式工具
Apr 25 #Javascript
第七章之菜单按钮图标组件
Apr 25 #Javascript
第九章之路径分页标签与徽章组件
Apr 25 #Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 #Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 #Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 #Javascript
You might like
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
PHP实现计算器小功能
2020/08/28 PHP
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
理解Koa2中的async&await的用法
2018/02/05 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
python list转置和前后反转的例子
2019/08/26 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
专升本自我鉴定
2013/10/10 职场文书
应届生服务员求职信
2013/10/31 职场文书
公务员职务工作的自我评价
2013/11/01 职场文书
执行总经理岗位职责
2014/02/03 职场文书
市场营销工作计划书
2014/09/15 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
六年级学生评语大全
2014/12/26 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python