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 相关文章推荐
如何在Mozilla Gecko 用Javascript加载XSL
Jan 09 Javascript
JavaScript移除数组元素减少长度的方法
Sep 05 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
May 09 Javascript
基于jQuery实现复选框是否选中进行答题提示
Dec 10 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
node.js 抓取代理ip实例代码
Apr 30 Javascript
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
基于vue v-for 循环复选框-默认勾选第一个的实现方法
Mar 03 Javascript
vue 自动化路由实现代码
Sep 03 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
Sep 02 Javascript
js实现滚动条自动滚动
Dec 13 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实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
Jquery attr(&quot;checked&quot;) 返回checked或undefined 获取选中失效
2013/10/10 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
Python中%r和%s的详解及区别
2017/03/16 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
自我鉴定怎么写
2014/01/12 职场文书
5.1手机促销活动
2014/01/17 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
早上好问候语大全
2015/11/10 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书