详解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 相关文章推荐
js 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
面向对象设计模式的核心法则
Nov 10 Javascript
javascript关于继承的用法汇总
Dec 20 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
Feb 23 Javascript
深入分析Cookie的安全性问题
Mar 01 Javascript
JavaScript对Cookie进行读写操作实例
Jul 25 Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 Javascript
如何实现一个webpack模块解析器
Oct 24 Javascript
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 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 类型转换函数intval
2009/06/20 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
PHP 一个随机字符串生成代码
2010/05/26 PHP
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
js时间控件只显示年月
2017/01/08 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
js实现飞机大战小游戏
2020/08/26 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
python版微信跳一跳游戏辅助
2018/01/11 Python
Windows下python3.7安装教程
2018/07/31 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
python中取绝对值简单方法总结
2020/07/24 Python
Python如何批量生成和调用变量
2020/11/21 Python
用python读取xlsx文件
2020/12/17 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
个人自荐书
2013/12/20 职场文书
《去年的树》教学反思
2014/04/11 职场文书
学校创先争优活动总结
2014/08/28 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
学生会招新宣传语
2015/07/13 职场文书