jQuery MiniUI

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

mini.open()方式弹窗,有能够捕捉取到窗体销毁后的事件吗? [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2017-1-4 16:53:44 |只看该作者 |倒序浏览
     主要问题:在点击mini.open()弹窗确定按钮时,关闭窗体后,执行ondestroy(销毁时发生)的回调函数,该函数要运行一个耗时方法,导致关闭弹窗长时间没有响应,进入“假死”状态了。不知道mini.open()是否有窗体销毁后事件,或有其他的解决方案?     希望大神能够给出建议,多谢了!

Rank: 8Rank: 8

沙发
发表于 2017-1-4 17:17:14 |只看该作者
ondestroy就是销毁的回调函数,你这里要处理怎样的操作会耗时很长?

Rank: 1

板凳
发表于 2017-1-4 18:06:20 |只看该作者
dforce 发表于 2017-1-4 17:17
ondestroy就是销毁的回调函数,你这里要处理怎样的操作会耗时很长?

ondestroy的回调函数里,先获取到弹窗设置的数据,传参给耗时方法(自己写方法:获取文件大量数据,同步导到数据库相应的表中)去执行。由于该方法耗时较长,点击确定关闭弹窗,必须先将耗时方法执行完后才关闭弹窗呢。 这个过程中,感觉窗体进入“假死”状态了,试过在这个过程设置“加载中...”显示提示框,发现窗体不消失,没能够显示出来呢。 个人的想法是:是否能够捕获窗体关闭后响应的事件,再去执行耗时方法?

Rank: 8Rank: 8

地板
发表于 2017-1-5 09:33:54 |只看该作者
穿破鞋的男孩 发表于 2017-1-4 18:06
ondestroy的回调函数里,先获取到弹窗设置的数据,传参给耗时方法(自己写方法:获取文件大量数据,同步 ...

是否可以在ondestroy事件中,延时再处理?
setTimeout(function(){
   .....你的操作
},1000)

Rank: 1

5#
发表于 2017-1-5 15:36:25 |只看该作者
felt 发表于 2017-1-5 09:33
是否可以在ondestroy事件中,延时再处理?
setTimeout(function(){
   .....你的操作

   谢谢各位版主耐心指点,问题得以解决!

Rank: 8Rank: 8

6#
发表于 2017-1-5 15:40:40 |只看该作者
穿破鞋的男孩 发表于 2017-1-5 15:36
谢谢各位版主耐心指点,问题得以解决!

Archiver|普加软件

GMT+8, 2024-7-3 00:09 , Processed in 1.053298 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部