jQuery MiniUI

 找回密码
 立即注册
查看: 2584|回复: 7
打印 上一主题 下一主题

如何一次性关闭所有子窗口 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-7-27 09:09:54 |只看该作者 |倒序浏览
由于业务需求,4个步骤打个了4个子窗口,如何在最后一个窗口里面调用方法关闭所有子窗口,只保留最初的父页面

Rank: 1

沙发
发表于 2017-7-27 09:58:42 |只看该作者
可以在顶级弹出关闭,在顶级弹出的父页面捕捉窗口关闭,捕捉到了再关闭此窗口,此窗口的父页面又捕捉到窗口关闭.....以此类推,可以试试

Rank: 8Rank: 8

板凳
发表于 2017-7-27 15:48:30 |只看该作者
本帖最后由 felt 于 2017-7-31 16:46 编辑

1 如果是一级一级弹出的,可以下这例子

2 如果是1个页面上弹出的,可以定义一下
var t1=mini.open({})
t1.destroy() 这样可以主动关闭。


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 2

地板
发表于 2017-7-31 16:11:03 |只看该作者
felt 发表于 2017-7-27 15:48
1 如果是一级一级弹出的,可以下这例子

2 如果是1个页面上弹出的,可以定义一下

我是一级一级弹出的,这附件里面是个树,斑竹是想表达一个啥意思?

Rank: 8Rank: 8

5#
发表于 2017-7-31 16:53:21 |只看该作者
whicss 发表于 2017-7-31 16:11
我是一级一级弹出的,这附件里面是个树,斑竹是想表达一个啥意思?

上传错了,是这个例子
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 2

6#
发表于 2017-8-1 09:18:32 |只看该作者


我在三个页面都用了下面这个方法,我也在控制台看了,确实调用了,但只能关闭最后一级页面,第二个弹窗没有被关闭
function CloseWindow(action) {
  if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);
  else window.close();
}

打开子窗口用的是doEdit()方法
看了下源码
function openEditDialog(url, options) {
  return mini.open({
    url: url,
    height: options.height,
    width: options.width,
    title: options.title,
    ondestroy: function (action) {
      if (options.closedCallback) {
        if (!options.closedCallback(action)) {
          return;
        }
      }
      if (top.closes.pop()) {
        mini.get(options.gridId).reload();
      }
    }
  });
}

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 2

7#
发表于 2017-8-1 09:22:47 |只看该作者
我发现你给我的例子,第3、4标号的窗口是弹在2号的里面,而我这个好像弹在外面的

Rank: 8Rank: 8

8#
发表于 2017-8-1 10:20:47 |只看该作者
whicss 发表于 2017-8-1 09:22
我发现你给我的例子,第3、4标号的窗口是弹在2号的里面,而我这个好像弹在外面的 ...

mini.open是顶级弹出,都是在顶级页面的弹出。

Archiver|普加软件

GMT+8, 2024-9-18 04:00 , Processed in 1.054270 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部