Bug 反馈(layer.open)

提问 已结
6 443
我擦这么菜
悬赏:0飞吻
我的代码
layer.open({
type: 2,
title: '编辑',
area: ['780px', '460px'],
content: "https://www.baidu.com",
end:function(){
alert("关闭了");
},
success: function(layero, index){
alert(layero);
}
});
官网测试end触发了,success没有触发
回帖
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-8-11
    layer.open({
    type: 2,
    title: '编辑',
    shadeClose: true,
    shade: false,
    maxmin: true, //开启最大化最小化按钮
    area: ['780px', '460px'],
    content: 'http://fly.layui.com/',
    end:function(){
    console.log('end'); //重新载入数据
    },
    success: function(layero, index){
    console.log('success');
    }
    });
    我在当前页面控制台运行上面这段代码,没问题
    你先看看你控制台提示了什么
    0 回复
  • 代码没问题,没有你说的情况,如果是这么明显的bug早该修复了(话说从来也没遇到过)。自己检查下自己的运行环境吧
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-8-11
    因为你页面用的是 iframe 层加载的 baidu.com,你 alert(layero) 跨域了,所以没显示出来
    多看控制台,兄弟
    0 回复
  • @小魔方 我项目里面的页面,也没有弹,
    layer.open({
    type: 2,
    title: '编辑',
    shadeClose: true,
    shade: false,
    maxmin: true, //开启最大化最小化按钮
    area: ['780px', '460px'],
    content: "{:U('Admin/Styles/formUpdate')}?id="+id,
    end:function(){
    $(grid_selector).jqGrid('setGridParam',{}).trigger("reloadGrid"); //重新载入数据
    },
    success: function(layero, index){
    console.log(layero);
    }
    });
    0 回复
  • @單克拉的眼淚
    layer的代码
    Class.pt.callback = function(){
    var that = this, layero = that.layero, config = that.config;
    that.openLayer();
    alert("in1");
    if(config.success){
    alert("in2");
    if(config.type == 2){
    layero.find('iframe').on('load', function(){
    config.success(layero, that.index);
    });
    } else {
    config.success(layero, that.index);
    }
    }
    layer.ie == 6 && that.IE6(layero);
    alert是我调试的in1弹了,in2没有弹,我代码里面配置了success,这不是bug?
    0 回复
  • @小魔方 我调试了代码确实是bug
    Class.pt.callback = function(){
    var that = this, layero = that.layero, config = that.config;
    that.openLayer();
    alert("in1");
    for(var k in config){
    alert(k+"="+config[k]);
    }
    if(config.success){
    alert("in2");
    if(config.type == 2){
    layero.find('iframe').on('load', function(){
    config.success(layero, that.index);
    });
    } else {
    config.success(layero, that.index);
    }
    }
    layer.ie == 6 && that.IE6(layero);
    我for的所有的key,唯独没有success。
    0 回复