• 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 广西快乐双彩今晚中奖详情:Yii2使用Bootbox插件实现自定义弹窗

    来源:本网整理

    彩票双色球历史开奖结果 www.s9h6.com 本次尝试了一个新的小插件"bootbox"。

    Yii2中使用了Bootstarp,让界面更美观,可是美中不足的是,在Gridview表格的Action里,删除功能的弹窗实在有点与Bootstrap违和,网上找到了一种解决方案,分享下使用此插件的过程。

    Bootbox.js,是一个小型的JavaScript库用来创建简单的可编程对话框,基于Bootstrap的Modal(模态框)来创建。

    官方说明

    //bootboxjs.com/v3.x/index.html

    Bootbox.js下载

    我们可以在GitHub上找到开源的bootbox.js下载

    https://github.com/makeusabrew/bootbox

    如何使用此插件?

    结合Yii2的GridView,我们来自定义Bootbox样式的弹窗:

    一、覆盖yii.js???/strong>

    Yii2自带的yii.js中定义了生成confirm对话框,以及执行action操作。

    我们可以用过覆盖js方法来达到目的。

    在@app/web/js/路径下创建一个javascript文件,比如main.js。

    代码如下:

    yii.allowAction = function ($e) {
      var message = $e.data('confirm');
      return message === undefined || yii.confirm(message, $e);
    };
    // --- Delete action (bootbox) ---
    yii.confirm = function (message, ok, cancel) {
    
      bootbox.confirm(
        {
          message: message,
          buttons: {
            confirm: {
              label: "OK"
            },
            cancel: {
              label: "Cancel"
            }
          },
          callback: function (confirmed) {
            if (confirmed) {
              !ok || ok();
            } else {
              !cancel || cancel();
            }
          }
        }
      );
      // confirm will always return false on the first call
      // to cancel click handler
      return false;
    }
    

    二、注册你的资源包

    需要注册bootbox.js和main.js文件。

    修改文件:@app/assets/Assets.php

    代码如下:

    namespace backend\assets;
    
    use yii\web\AssetBundle;
    
    class AppAsset extends AssetBundle
    {
      public $basePath = '@webroot';
      public $baseUrl = '@web';
      public $css = ['css/site.css'];
      // 注册js资源
      public $js = ['js/bootbox.js', 'js/main.js'];
      public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
      ];
    }
    
    

    三、自定义Modal框

    了解下bootbox.js源码,可以知道bootbox.js使用的是bootstarp的modal框,我们可以根据需求

    修改bootbox.js源码中的"templates"变量,自定义Modal样式。

    看下对比结果:

    修改前:

    修改后:

    瞬间舒服多了,弹窗功能变的不再那么违和。类似这样的弹窗插件有很多,我想可以用同样的方法来实现使用其他的插件。

    以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 本文相关:
  • Javascript中使用parseInt函数需要注意的问题
  • Javascript中的包装类型介绍
  • AngularJS快速入门
  • JavaScript获得表单target属性的方法
  • 如何改进javascript代码的性能
  • Javascript获取表单名称(name)的方法
  • JavaScript获取网页表单提交方式的方法
  • 原创jQuery弹出层插件分享
  • JavaScript显示表单内元素数量的方法
  • 原生js实现类似弹窗抖动效果
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 彩票双色球历史开奖结果 - 频道导航
    Copyright © 2017 彩票双色球历史开奖结果 www.s9h6.com All Rights Reserved
  • 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 陕西福彩快乐10分选号技巧 十一夺金规则 欧冠杯 山西11选5开奖查询 辽宁快乐12组选遗漏 manbetx体育 吉林快三开奖最快速度 2019年富婆看图一肖一特第8 河北20选5开奖走势图 皇城黑龙江时时彩 北京单场购买 福彩双色球走势图 去哪儿网提现手续费 三公扑克牌技巧 学生网上挣钱