https://cdn.jsdelivr.net/npm/bootbox/dist/bootbox.min.js
。
1、基本介绍
定义:Bootbox.js是一个基于Bootstrap和jQuery的弹出框插件,用于在Web应用程序中创建各种类型的弹出框,如警告框、确认框、提示框等。
功能特点:提供了设置弹出框大小、位置和语言的功能,还支持自定义按钮和多种输入类型的提示框。
2、引入方式
直接引入:可以通过CDN方式直接在HTML文件中引入Bootbox.js和其依赖的jQuery和Bootstrap文件。
<!-引入jQuery --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-引入Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <!-引入Bootbox CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootbox@5.4.0/dist/bootbox.min.css"> <!-引入Bootbox JS --> <script src="https://cdn.jsdelivr.net/npm/bootbox@5.4.0/dist/bootbox.min.js"></script>
使用包管理工具:如果项目使用了包管理工具(如npm或yarn),可以通过以下命令安装Bootbox:
npm install bootbox # 或者 yarn add bootbox
然后在JavaScript代码中引入并使用。
3、常用方法
alert:用于显示一个带有确定按钮的警告框。
bootbox.alert("这是一个警告框!");
confirm:用于显示一个带有确定和取消按钮的确认框。
bootbox.confirm("你确定要执行此操作吗?", function(result){ if(result){ console.log("用户点击了确定"); }else{ console.log("用户点击了取消"); } });
prompt:用于显示一个带有输入框和确定、取消按钮的提示框。
bootbox.prompt("请输入你的名字:", function(result){ if(result){ console.log("用户输入的是:" + result); }else{ console.log("用户取消了输入"); } });
4、配置选项
buttons:可以自定义弹出框的按钮文本和样式。
bootbox.confirm({ message: "你确定要删除这条记录吗?", buttons: { confirm: { label: '<i class="fa fa-check"></i> 确定', className: 'btn-success' }, cancel: { label: '<i class="fa fa-times"></i> 取消', className: 'btn-danger' } }, callback: function (result) { if(result){ console.log("用户点击了确定"); }else{ console.log("用户点击了取消"); } } });
className:可以为弹出框添加自定义的CSS类,以便进行样式定制。
bootbox.alert({ message: "这是一个自定义样式的警告框!", className: "my-custom-alert" });
size:可以设置弹出框的大小,可选值为"small"
、"medium"
(默认)和"large"
。
bootbox.alert({ message: "这是一个大号的警告框!", size: "large" });
5、事件监听
onEscape:当用户按下Esc键时触发的事件。
bootbox.confirm({ message: "你确定要执行此操作吗?", onEscape: function() { console.log("用户按下了Esc键"); return false; // 阻止关闭弹出框 } });
shown:当弹出框显示时触发的事件。
bootbox.confirm({ message: "你确定要执行此操作吗?", shown: function() { console.log("弹出框已显示"); } });
hidden:当弹出框隐藏时触发的事件。
bootbox.confirm({ message: "你确定要执行此操作吗?", hidden: function() { console.log("弹出框已隐藏"); } });
配置项 | 描述 | 示例代码 | 效果 |
buttons | 自定义按钮文本和样式 | bootbox.confirm({message: "你确定要删除这条记录吗?", buttons: {confirm: {label: ' 确定', className: 'btn-success'}, cancel: {label: ' 取消', className: 'btn-danger'}}, callback: function (result) {if(result){console.log("用户点击了确定");}else{console.log("用户点击了取消");}}}); |
弹出框的确定和取消按钮分别显示为绿色的对勾和红色的叉号,并具有相应的样式 |
className | 为弹出框添加自定义CSS类 | bootbox.alert({message: "这是一个自定义样式的警告框!", className: "my-custom-alert"}); |
弹出框应用了自定义的CSS类my-custom-alert ,可以根据该类在CSS文件中定义样式 |
size | 设置弹出框的大小 | bootbox.alert({message: "这是一个大号的警告框!", size: "large"}); |
弹出框的大小变为大号 |
onEscape | 用户按下Esc键时触发的事件 | bootbox.confirm({message: "你确定要执行此操作吗?", onEscape: function() {console.log("用户按下了Esc键"); return false;}}); |
当用户按下Esc键时,控制台输出“用户按下了Esc键”,并且弹出框不会关闭 |
shown | 弹出框显示时触发的事件 | bootbox.confirm({message: "你确定要执行此操作吗?", shown: function() {console.log("弹出框已显示");}}); |
当弹出框显示时,控制台输出“弹出框已显示” |
hidden | 弹出框隐藏时触发的事件 | bootbox.confirm({message: "你确定要执行此操作吗?", hidden: function() {console.log("弹出框已隐藏");}}); |
当弹出框隐藏时,控制台输出“弹出框已隐藏” |
1、如何在不同的项目中选择合适的弹出框插件?
在选择弹出框插件时,需要考虑项目的需求、技术栈以及插件的特点,如果项目已经使用了Bootstrap和jQuery,那么Bootbox.js是一个很好的选择,因为它与这两者有很好的兼容性,如果项目没有使用这些技术,可以考虑其他独立的弹出框插件,如SweetAlert等,还需要考虑插件的功能是否满足项目需求,如是否需要自定义按钮、输入框、动画效果等,也可以参考其他开发者的使用经验和社区活跃度来选择合适的插件。
2、Bootbox.js的性能如何?
Bootbox.js的性能通常较好,因为它是基于原生JavaScript和CSS实现的,没有过多的依赖和复杂的操作,性能也会受到一些因素的影响,如弹出框的数量、复杂度以及页面的其他元素等,为了获得最佳的性能,建议合理使用Bootbox.js,避免在不必要的情况下频繁创建弹出框,同时可以使用浏览器的开发者工具来分析和优化性能问题。