Bootstrap 插件总览

前面几个章节我们已经学习了一些基本的插件的用法,但那些都知识 Bootstrap 3 插件的冰山一角

Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动

这些插件的存在,大大简化了编写 JavaScript 的难度,从某些方面说,即使你不是一名经验丰富的 JavaScript 开发人员,也很容易掌握 Bootstrap 的 JavaScript 插件

更方便的是,利用 Bootstrap 数据 API( Bootstrap Data API ) ,大部分的插件可以在不编写任何代码的情况被触发

使用这些 Bootstrap 插件的方法有两种

  1. 单独引用

    使用 Bootstrap 的个别的 *.js 文件

    因为一些插件和 CSS 组件依赖于其它插件

    如果单独引用插件,请先确保弄清这些插件之间的依赖关系

    这不是推荐的做法

  2. 使用完全版

    使用 bootstrap.js 或压缩版的 bootstrap.min.js

    不要尝试同时引用这两个文件,因为 bootstrap.jsbootstrap.min.js 都包含了所有的插件

    如果在生产环境用,推荐使用 bootstrap.min.js ,这也是我们教程和网站的用法

    所有的插件依赖于 jQuery

    所以必须在插件文件之前引用 jQuery

    可以访问 bower.json 查看 Bootstrap 当前支持的 jQuery 版本

data 属性

在 Bootstrap 3 中

  1. 可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码

    这是 Bootstrap 中的一等 API,也是首选方式

  2. 但是在某些情况下,可能需要将data 属性功能关闭

    Bootstrap 提供了关闭 data 属性 API 的方法,即解除以 data-api 为命名空间并绑定在文档上的事件

    $(document).off('.data-api')
    
  3. 如需关闭一个特定的插件,只需要在 data-api 命名空间前加上该插件的名称作为命名空间即可

    $(document).off('.alert.data-api')
    

编程方式的 API

Bootstrap 3 为所有的内置插件提供了纯 JavaScript 方式的 API

所有公开的 API 都是支持单独或链式调用方式,并且返回其所操作的元素集合,这有点类似 jQuery

$(".btn.danger").button("toggle").addClass("fat")

所有的方法都可以接受一个可选的选项对象作为参数,或者一个代表特定方法的字符串,或者不带任何参数,如果不带任何参数,则会初始化插件为默认行为

// 初始化为默认行为
$("#modal").modal()    
 // 初始化为不支持键盘               
$("#modal").modal({ keyboard: false })  
// 初始化并立即调用 show
$("#modal").modal('show')

每个插件在 Constructor 属性上也暴露了其原始的构造函数

$.fn.popover.Constructor

如果想获取某个特定插件的实例,你可以直接通过页面元素获取

$('[rel=popover]').data('popover').

避免命名空间冲突

如果你需要将 Bootstrap 插件与其它 UI 框架一起使用,那么可能会发生命名空间冲突

如果不幸发生了这种情况,不要着急,可以通过调用插件的 .noConflict 方法恢复其原始值

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

事件

Bootstrap 3 为大多数插件的独特行为提供了自定义事件

一般来说,这些事件有两种形式

  1. 动词不定式

    这会在事件开始时被触发

    例如 show 动词不定式事件提供了 preventDefault 功能

    这使得在事件开始前可以停止操作的执行

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

    这会在动作执行完毕之后被触发

    例如 shown

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.