Bootstrap JavaScript插件: JavaScript 插件引入前提

简介: Bootstrap 框架

作者:WangMin
格言:努力做好自己喜欢的每一件事

banner.png

引入js文件

bootstrap.jsbootstrap.min.js都包含了所有插件,你在使用时,只需选择一个引入页面就可以了, 建议使用压缩版的 JavaScript 文件(bootstrap.min.js)。

注意:所有插件都依赖 jQuery (也就是说,jQuery必须在bootstrap.min.js之前引入页面)。


data 属性

1. data-属性
data属性是HTML5的新属性。允许开发者自由给任意标签添加属性来存储数据,存储的(自定义)数据能够被页面的 JavaScript 中利用。这种自定义属性一般用“data-”开头。

data-* 属性因注意的两个部分:

(1)属性名不应该包含任何大写字母,并且在前缀 “data-” 之后必须有至少一个字符。

(2)属性值可以是任意字符串。
简单点来说,data-属性就是让HTML标签可以隐式的附带一些数据,而javascript就可以对这些属性数据进行操作 , 从而可以做出相应的动作和事件。

2. Bootstrap 中的data属性

以前我们使用原生的javascript时候,是先确定了前端布局以及交互事件,然后在去利用javascript以及HTML的DOM节点去操作已经存在文本对象,从而实现页面动态效果等交互。

后来facebook公司就发现,很多基本网页上效果是比较常用的,比如下拉菜单、折叠、模态框等等。为什么不把这些常用的提取出一套标准模型,然后制定出使用规则,使用时按照这些规则直接拿来使用就可以了,于是就诞生了bootstrap。

简单点来说,以前如果我们要实现某些网页交互效果必须要有功能需求,然后结合js以及HTML的DOM节点来慢慢实现,但是现在你想实现某个交互效果,只需要直接按照他的规则调用(通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码。)就可以实现。然后为了能更多样化,bootstrap.js中的函数可以有不同的参数值,这些参数值就是根据你给标签的属性来设置的。

标签的class="xxx" 属性,主要是用来使用bootstrap的css样式,以及作为一个可识别对象对象的类名标识。
标签的data-[xx]="yy"属性,主要是用来使用和调用bootstrap的组件和插件,也就是使用bootstrap.js来实现一些交互效果。

3. Bootstrap 常见data属性

(1) data-toggle以什么事件触发 , 告诉JS需要对按钮做什么。常用的如下:

data-toggle="dropdown"       //下拉菜单
data-toggle="model"         //模态框事件
data-toggle="tooltip"      //提示框事件
data-toggle="tab"         //标签页
data-toggle="collapse"   //折叠
data-toggle="popover"   //弹出框
data-toggle="button"   //按钮事件

一般事件会作用到一个标签对象,如果是其他标签对象,就需要使用data-target指事件的标签目标。所以data-toggle和data-target有时会结合一起使用。

(2) data-target指:事件作用的目标元素。
(3) data-dismiss常见的是在模态窗口中用于关闭模态窗口 data-dismiss=”modal”。
(4) data-slide-todata-slidedata-ride用于轮播图carousel。

属性 data-slide接受关键字 prev 或 next,用来改变幻灯片相对于当前位置的位置;

使用 data-slide-to 来向轮播传递一个原始滑动索引,data-slide-to="2"将把滑块移动到一个特定的索引,索引从 0开始计数;data-ride="carousel" 属性用于标记轮播在页面加载时就开始动画播放。

注意: 不要在同一个元素上使用来自多个插件的数据属性,也就是说一个元素上只能有一个data-属性。例如,按钮不能同时具有工具提示和切换模式。

另外,在某些情况下可能需要将此功能关闭。因此,官网还提供了关闭 data 属性 API 的方法,来解除data-属性作用于文档元素上的事件。如下:

$(document).off('.data-api') //data-api 绑定事件的数据属性(data属性)

如果是针对某个特定的插件,只需在data-api前面添加那个插件的名称作为命名空间,例如:

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

编程方式的 API

所有 Bootstrap 插件提供了纯 JavaScript 方式的 API。所有公开的 API 都是支持单独或链式调用方式,并且返回其所操作的元素集合(和jQuery的调用形式一致)。

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

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

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

避免命名空间冲突

某些时候可能需要将 Bootstrap 插件与其他 UI 框架共同使用,这时候可能就会产生命名空间冲突,通过调用插件的.noConflict方法恢复其原始值。

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

事件

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

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

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

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


版本号

每个 Bootstrap 的 jQuery 插件的版本号都可以通过插件的构造函数上的VERSION属性获取到。例如工具提示框(tooltip)插件:

$.fn.tooltip.Constructor.VERSION // => "3.3.7"

就先分享到这里!! :smile: 后续继续更新!!

目录
相关文章
|
2月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
58 1
|
2月前
|
存储 JavaScript 前端开发
【Vue.js的神秘力量】一键解锁:如何让Bootstrap和Vuex成为你的开发超能力?
【8月更文挑战第30天】Vue.js是一个轻量且灵活的JavaScript框架,易于上手且功能强大。为提高开发效率和应用交互性,常需集成第三方库。本文介绍如何在Vue.js项目中集成Bootstrap和Vuex,及其它常见第三方库。Bootstrap提供响应式设计和预制组件,通过安装插件和引入CSS/JS即可集成;Vuex作为官方状态管理库,通过安装并创建store来管理组件状态。此外,Vue.js还可轻松集成Axios和Vue Router等库,提升HTTP请求和页面路由功能。合理选择和集成第三方库能显著提升开发效率,但需保持代码可维护性和可读性。
19 0
|
2月前
|
前端开发 JavaScript 开发者
Vue.js 与第三方库的神秘融合:Bootstrap、Vuex 等究竟带来何种惊喜?
【8月更文挑战第30天】Vue.js 作为一款流行的前端框架,凭借其强大的功能和易用性深受开发者喜爱。它不仅能独立运作,还能无缝集成各种第三方库,显著提升开发效率。例如,通过 `vue-bootstrap`,我们可以轻松引入 Bootstrap 的响应式组件,快速打造美观的用户界面;借助 Vuex,Vue 提供的状态管理方案,能有效解决复杂应用中的状态共享难题。此外,诸如 `axios` 和 `moment` 等库也能进一步增强 Vue 的功能,使其成为构建高性能前端应用的理想选择。
29 0
|
2月前
|
设计模式 JavaScript 前端开发
Vue.js 与第三方库的奇妙融合,Bootstrap 和 Vuex 究竟能带来何种意想不到的变革?
【8月更文挑战第30天】在现代Web开发中,结合使用JavaScript设计模式与框架如Vue.js能显著提升代码质量和项目的可维护性。本文探讨了常见JavaScript设计模式及其在Vue.js中的应用。通过具体示例介绍了工厂模式、单例模式和策略模式的应用场景及其实现方法。例如,工厂模式通过`NavFactory`根据用户角色动态创建不同的导航栏组件;单例模式则通过全局事件总线`eventBus`实现跨组件通信;策略模式用于处理不同的表单验证规则。这些设计模式的应用不仅提高了代码的复用性和可维护性,还使得Vue应用更加模块化和灵活。
13 0
|
2月前
|
JavaScript 前端开发 测试技术
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
|
3月前
|
JavaScript 前端开发 API
Chrome插件实现问题之 content_script.js能做什么
Chrome插件实现问题之 content_script.js能做什么
|
3月前
|
JavaScript
js好用的动态分页插件
js好用的动态分页插件是一款简单的分页样式插件,支持样式类型,当前页,每页显示数量,按钮数量,总条数,上一页文字,下一页文字,输入框跳转等功能。
34 1
|
3月前
|
JavaScript
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
182 0
|
3月前
|
前端开发 JavaScript API
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(下)
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(下)
40 0
|
3月前
|
监控 JavaScript 前端开发
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(上)
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(上)
43 0
下一篇
无影云桌面