jQuery MiniUI

标题: mini.open()方式弹窗,有能够捕捉取到窗体销毁后的事件吗? [打印本页]

作者: 穿破鞋的男孩    时间: 2017-1-4 16:53:44     标题: mini.open()方式弹窗,有能够捕捉取到窗体销毁后的事件吗?

     主要问题:在点击mini.open()弹窗确定按钮时,关闭窗体后,执行ondestroy(销毁时发生)的回调函数,该函数要运行一个耗时方法,导致关闭弹窗长时间没有响应,进入“假死”状态了。不知道mini.open()是否有窗体销毁后事件,或有其他的解决方案?     希望大神能够给出建议,多谢了!


作者: dforce    时间: 2017-1-4 17:17:14

ondestroy就是销毁的回调函数,你这里要处理怎样的操作会耗时很长?
作者: 穿破鞋的男孩    时间: 2017-1-4 18:06:20

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

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

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

是否可以在ondestroy事件中,延时再处理?
setTimeout(function(){
   .....你的操作
},1000)
作者: 穿破鞋的男孩    时间: 2017-1-5 15:36:25

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

   谢谢各位版主耐心指点,问题得以解决!
作者: felt    时间: 2017-1-5 15:40:40

穿破鞋的男孩 发表于 2017-1-5 15:36
谢谢各位版主耐心指点,问题得以解决!






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