详解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 相关文章推荐
JQUERY复选框CHECKBOX全选,取消全选
Aug 30 Javascript
JavaScript 滚轮事件使用说明
Mar 07 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
Jun 09 Javascript
jQuery实现公告文字左右滚动的实例代码
Oct 29 Javascript
javascript内置对象arguments详解
Mar 16 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
Feb 09 Javascript
详解Vue双向数据绑定原理解析
Sep 11 Javascript
使用watch监听路由变化和watch监听对象的实例
Feb 24 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
前后端常见的几种鉴权方式(小结)
Aug 04 Javascript
js实现简单的随机点名器
Sep 17 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
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
浅析node.js中close事件
2014/11/26 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
JS面向对象编程详解
2016/03/06 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
Python中itertools模块用法详解
2014/09/25 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
python协程之动态添加任务的方法
2019/02/19 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
PyQt5 多窗口连接实例
2019/06/19 Python
如何给Python代码进行加密
2020/01/10 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
简历中的自我评价范文
2014/02/05 职场文书
公司聘任书模板
2014/03/29 职场文书