详解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 相关文章推荐
javascript中获取下个月一号,是星期几
Jun 01 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
Apr 10 Javascript
javascript实现控制div颜色
Jul 07 Javascript
分享我的jquery实现下拉菜单心的
Nov 29 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
js如何实现元素曝光上报
Aug 07 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
NOT NULL 和NULL
2007/01/15 PHP
实用函数9
2007/11/08 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
node中的cookie的具体使用
2018/09/13 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Python内置加密模块用法解析
2019/11/25 Python
Django celery异步任务实现代码示例
2020/11/26 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
医学生实习自我鉴定
2013/09/27 职场文书
高一地理教学反思
2014/01/18 职场文书
书法大赛策划方案
2014/06/04 职场文书
消防安全标语
2014/06/07 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
生产现场禁烟通知
2015/04/23 职场文书
安全生产协议书
2016/03/22 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript