layui button 标签调用layer.open 闪退

一、button 

在一个通过layer.open打开的窗体中,再次调用layer.open

html:

<button class="layui-btn layui-btn-normal" id="btn" >打开</button>     

js:

        $('#btn').on('click', function () {
            layer.open({
                type: 2,  //type:0 也行
                title: "新窗口",
                area: ["1000px", "80%"],
                content: 新窗口地址,
                resize: false,
                btn: ['确认'],
                yes: function (index, layero) {
                    //执行相关回调操作
                    layer.close(index); //关闭弹窗
                }
            });
        });

以上代码运行正常,可正常调用,但是在打开新窗口的瞬间,新窗口会闪退了 ,为啥呢?

没有具体进行深究 但是猜测原因跟窗体index索引层级有关系,根据问题找到两个处理方法如下:

方案一:在layer前加上parent 既可

js:

        $('#btn').on('click', function () {
           parent.layer.open({
                type: 2,  //type:0 也行
                title: "新窗口",
                area: ["1000px", "80%"],
                content: 新窗口地址,
                resize: false,
                btn: ['确认'],
                yes: function (index, layero) {
                    //执行相关回调操作
                    layer.close(index); //关闭弹窗
                }
            });
        });

方案二:标签本身的问题(因为本身标签就是button 往往很容易忽略了 type="button" 这个属性)

<button class="layui-btn layui-btn-normal" id="btn" >打开</button>     会闪退

<button class="layui-btn layui-btn-normal" id="btn" type="button" >打开</button>      不会闪退

不太清楚layui 的编译机制,为何 type="button" 有没有这个属性的差别那么大?希望有研究过的博友解答一下

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值