jQuery MiniUI

标题: 求教mini.open 的关闭事件 [打印本页]

作者: bittersweet    时间: 2013-10-17 11:11:28     标题: 求教mini.open 的关闭事件

http://www.miniui.com/demo/#src=datagrid/datagrid.html 这个示例中 关闭表单时如果那个提示是如何被调用的:function CloseWindow(action) {                        if (action == "close" && form.isChanged()) {
                if (confirm("数据被修改了,是否先保存?")) {
                    return false;
                }
            }
            if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);
            else window.close();            
        }
也就是说为何点“x”的时候会执行上面的代码 我自己写的不行,在父页面没找到把这个函数绑定到关闭事件的代码啊




作者: factory    时间: 2013-10-17 12:14:19

如果你需要点击自定义的取消按钮跟右上角的X,执行相同的方法,比如需要确认一些信息,那么你可以把方法名固定写成CloseWindow(),当你点击X的时候,我们内部会去找你是否有CloseWindow(),如果有,就执行这个方法,如果没有,就直接执行window.CloseOwnerWindow关闭.但是这样的话,你的某个方法中的一些确认代码就不会执行到了
作者: bittersweet    时间: 2013-10-17 12:40:03

了解了 感谢
作者: bittersweet    时间: 2013-10-17 13:03:55

factory 发表于 2013-10-17 12:14
如果你需要点击自定义的取消按钮跟右上角的X,执行相同的方法,比如需要确认一些信息,那么你可以把方法名固定 ...

似乎CloseWindow中的mini.alert mini.confirm这样的确认方法不会被执行,只能用alert和confirm
并且去掉 if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);
            else window.close(); 点击“x”窗口依然被关闭(点击“取消”调用CloseWindow不会)
作者: factory    时间: 2013-10-17 13:23:02

bittersweet 发表于 2013-10-17 13:03
似乎CloseWindow中的mini.alert mini.confirm这样的确认方法不会被执行,只能用alert和confirm
并且去掉  ...

你可以在mini.alert()或者mini.confirm的回调中执行你需要执行的代码

因为JS模拟的弹出框都是无法阻塞住下面的代码执行的,这跟alert() 不一样




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2