layer打开的子弹窗,点击x号关闭的函数怎么捕捉?

提问 未结
13 483
前任男友
前任男友 2018-11-5
悬赏:20飞吻
版本:layui 浏览器:google
用layer.open打开一个弹窗,弹窗右上角有X号,在子页面点击该x号时,怎么让其弹出一个确认退出的框,也就是弹出layer.confirm,因为在关闭弹窗时要做限制
回帖
  • Zlheb
    2018-11-5
    不需要捕捉,有关闭的回调,看一下文档吧
    0 回复
  • @Zlheb 关闭回调的cancle一般写在父页面,我现在想在子页面监听到关闭时触发的事件
    0 回复
  • 恶势力
    2018-11-5
    回调,看文档啊老铁
    0 回复
  • 关闭回调的cancle一般写在父页面,我现在想在子页面监听到关闭时触发的事件
    0 回复
  • @恶势力 关闭回调的cancle一般写在父页面,我现在想在子页面监听到关闭时触发的事件
    0 回复
  • Xiao情子
    2018-11-5
    那应该是监听当前页面的关闭事件吧。
    0 回复
  • 恶势力
    2018-11-5
    yes: function(index, layero){
    //do something
    layer.close(index); //如果设定了yes回调,需进行手工关闭
    }
    调用父页面的这个 layer.close(index);
    0 回复
  • @Xiao情子 我试一下
    0 回复
  • @恶势力 大哥,我说的是子页面点击x号关闭
    0 回复
  • @恶势力 layer.open({
    content: '测试回调',
    cancel: function(index, layero){
    if(confirm('确定要关闭么')){ //只有当点击confirm框的确定时,该层才会关闭
    layer.close(index)
    }
    return false;
    }
    });

    就是把这个cancle函数放在子页面执行
    0 回复
  • Zlheb
    2018-11-5
    关闭的回调里面调用子页面的方法就可以了
    0 回复
  • @Zlheb
    parent.layer.open({
    type: 2,
    title: "学习教育详情",
    scrollbar: false,
    /* closeBtn: 0, */
    shadeClose: true,
    id: "showDetailLayer",
    area: ['80%','90%'],
    content: "${base}/web/studyeducation/showLookingDetail?id="+id,
    cancel:function callIframeMethod() {  
        var canBack1 =   document.getElementById("frame").contentWindow.test();  
        var canBack2 =   $("#frame")[0].contentWindow.test(); //用jquery调用需要加一个[0]  
    consloe.log(canBack1);
    consloe.log(canBack2);
        },
    end:function(){
    window.parent.refreshJQGrid();
    }
    });
    这样写总是说contentWindow为null,报错:Uncaught TypeError: Cannot read property 'contentWindow' of null
    0 回复
  • Zlheb
    2018-11-5
    没有这个对象呀
    0 回复