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 相关文章推荐
JS代码格式化和语法着色V2
Oct 14 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
Dec 13 Javascript
移动端脚本框架Hammer.js
Dec 15 Javascript
JS实现向iframe中表单传值的方法
Mar 24 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
Jun 08 Javascript
最基础的vue.js双向绑定操作
Aug 23 Javascript
js实现图片上传并预览功能
Aug 06 Javascript
ES10 特性的完整指南小结
Mar 04 Javascript
Vue-cli项目部署到Nginx服务器的方法
Nov 01 Javascript
微信小程序关键字变色实现代码实例
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中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
PHP递归算法的简单实例
2019/02/28 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
javascript 播放器 控制
2007/01/22 Javascript
ajax 文件上传应用简单实现
2009/03/03 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
关于JSON与JSONP简单总结
2016/08/16 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
python文字转语音的实例代码分析
2019/11/12 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
python实现图像外边界跟踪操作
2020/07/13 Python
python从Oracle读取数据生成图表
2020/10/14 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
自我鉴定四大框架
2014/01/17 职场文书
新课培训心得体会
2014/09/03 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
投资入股合作协议书
2014/10/28 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
Golang map映射的用法
2022/04/22 Golang
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL