Bootstrap BootstrapDialog使用详解


Posted in Javascript onFebruary 17, 2017

这里有两种展现方式

写在前面:首先你要引入的库有
css : bootstrap.min.css bootstrap-dialog.css
js : jquery-1.11.1.min.js bootstrap.min.js bootstrap-dialog.js

1、通过html代码显示

<!-- Button trigger modal 弹出框的触发器 -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal 弹出框的结构 -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

这种方式简单直观; 但会增加html的‘重量',而且不够灵活,大量使用时不建议使用

2、通过js的方式展现(需要注意的地方我都写在注释里了)

(1)最简单的实现方式:

BootstrapDialog.show({
  message: 'Hi Apple!'
});

还有一种更简单的实现方式:BootstrapDialog.alert('I want banana!'); //异步加载 适合用在方法的最后

(2)buttons

BootstrapDialog.show({
  message : "message",
  buttons : [{
    label : "btn1",
    cssClass : "btn-primary"   //给按钮添加类名  可以通过此方式给按钮添加样式
    },{
      label : "btn2",
      icon : "glyphicon glyphicon-ban-circle"   //通过bootstrap的样式添加图标按钮
    },{
      label : "btn3",
      action : function(dialog){   //给当前按钮添加点击事件
        dialog.close();
      }
    }
  ]
});

(3)操作title、message 可以通过 setTitle 和 setMessage 操作title和message

BootstrapDialog.show({
  title : "this is a title!",    //title
  message : "Document Comtent",
  buttons : [{
    label : "cancel",
    action : function(dialog){
      dialog.setTitle("title2");   //操作title
      dialog.setMessage("message1");   //操作message
      dialog.close();
    }
  },{
    label : "Ok",
    action : function(dialog){
      dialog.close();
    }
  }]
})

(4)按钮热键 (本人认为不常用)

BootstrapDialog.show({
  title: 'Button Hotkey',
  message: 'Try to press some keys...',
  onshow: function(dialog) {
    dialog.getButton('button-c').disable();   //通过getButton('id')获得按钮
  },
  buttons: [{
    label: '(A) Button A',
    hotkey: 65, // Keycode of keyup event of key 'A' is 65.
    action: function() {
      alert('Finally, you loved Button A.');
    }
  }, {
    label: '(B) Button B',
    hotkey: 66,
    action: function() {
      alert('Hello, this is Button B!');
    }
  }, {
    id: 'button-c',
    label: '(C) Button C',
    hotkey: 67,
    action: function(){
      alert('This is Button C but you won\'t see me dance.');
    }
  }]
})

(5)动态加载message

BootstrapDialog.show({
  //message : $("<div></div>").load('content.html')   //第一种方式
  message : function(content){    //第二种方式
    var $message = $("<div></div>");
    var loadData = content.getData("contentFile");
    $message.load(loadData);
    return $message;   //一定记得返回值!
  },
  data : {"contentFile" :"content.html"}
});

(6)控制弹出框右上角的关闭按钮

BootstrapDialog.show({
  message: 'Hi Apple!',
  closable: true,    //控制弹出框拉右上角是否显示 ‘x'  默认为true
  buttons: [{
    label: 'Dialog CLOSABLE!',
    cssClass: 'btn-success',
    action: function(dialogRef){
      dialogRef.setClosable(true);
    }
  }, {
    label: 'Dialog UNCLOSABLE!',
    cssClass: 'btn-warning',
    action: function(dialogRef){
      dialogRef.setClosable(false);
    }
  }, {
    label: 'Close the dialog',
    action: function(dialogRef){
      dialogRef.close();   //总是能关闭弹出框
    }
  }]
});

(7) 弹出框的尺寸

BootstrapDialog.show({
  title: 'More dialog sizes',
  message: 'Hi Apple!',
  size : BootstrapDialog.SIZE_NORMAL  //默认尺寸
  buttons: [{
    label: 'Normal',
    action: function(dialog){
      dialog.setTitle('Normal');
      dialog.setSize(BootstrapDialog.SIZE_NORMAL);
    }
  }, {
    label: 'Small',
    action: function(dialog){
      dialog.setTitle('Small');
      dialog.setSize(BootstrapDialog.SIZE_SMALL);
    }
  }, {
    label: 'Wide',
    action: function(dialog){
      dialog.setTitle('Wide');
      dialog.setSize(BootstrapDialog.SIZE_WIDE);
    }
  }, {
    label: 'Large',
    action: function(dialog){
      dialog.setTitle('Large');
      dialog.setSize(BootstrapDialog.SIZE_LARGE);
    }
  }]
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript获取多个数组的交集简单实例
Nov 11 Javascript
js中判断用户输入的值是否为空的简单实例
Dec 23 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
Sep 09 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
JavaScript重载函数实例剖析
May 13 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 Javascript
JavaScript实现简单的星星评分效果
May 18 Javascript
详解使用Next.js构建服务端渲染应用
Jul 10 Javascript
JavaScript判断数组类型的方法
Oct 23 Javascript
实例讲解React 组件
Jul 07 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 Javascript
数组Array的一些方法(总结)
Feb 17 #Javascript
深入理解javascript的getTime()方法
Feb 16 #Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 #Javascript
js时间戳格式化成日期格式的多种方法介绍
Feb 16 #Javascript
基于JavaScript实现拖动滑块效果
Feb 16 #Javascript
js实现移动端微信页面禁止字体放大
Feb 16 #Javascript
100多个基础常用JS函数和语法集合大全
Feb 16 #Javascript
You might like
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
php和nginx交互实例讲解
2019/09/24 PHP
js 获取Listbox选择的值的代码
2010/04/15 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
移动端js图片查看器
2016/11/17 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
python3中rank函数的用法
2019/11/27 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
c++工程师面试问题
2013/08/04 面试题
Java如何读取CLOB字段
2013/10/10 面试题
药物学专业学生的自我评价
2013/10/27 职场文书
全民健身日活动方案
2014/01/29 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
科研课题实施方案
2014/03/18 职场文书
幼儿生日活动方案
2014/08/27 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
平遥古城导游词
2015/02/03 职场文书
大学生就业意向书
2015/05/11 职场文书
工程进度款催款函
2015/06/24 职场文书
销售口号霸气押韵
2015/12/24 职场文书
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis