jQuery,easyui的dialog在窗口内监听关闭事件

框架 jQuery,easyui.

有一种打开窗口的方式是在外层页面触发的, 窗口按钮的[确定]和[关闭]也是在外面监听和处理的.如下

//这里的top.sy.iframeDialog是对jquery,easyui的dialog封装了一下
var myDialog = top.sy.iframeDialog({
        "id": '_myDialog'
        ,href:'student/add'
        , "title": '新增'
        , "width": 800
        , "height": 600
        , "onClose": function() {
           console.log('新增窗口关闭事件');
        }
    });

效果如下

但是有时候会需要在新增窗口的页面中监听窗口关闭事件, 而外面的页面和窗口的页面不是同一个jsp文件.可是通过手动选中窗口的"x"或者"关闭"按钮,然后自行绑定click事件即可.如下

//从上层页面中找到打开的窗口,然后找到这个按钮.进行绑定
//注意不能在窗口内部找, 因为"x"不是在窗口的页面中的
top.$('.window:visible').find('.panel-tool-close').on('click',closeWebSocket);

另外要注意的是,外层的onClose事件中.不能调用 myDialog.dialog('destroy'); 因为onClose会在先执行,把窗口销毁了的话. 就没法触发我们自定义的事件了.

本文到此结束

发布了60 篇原创文章 · 获赞 5 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40085888/article/details/105440845