[英]How to close dialog opened by showModalDialog?
我尝试了这个但是失败了:
var win = showModalDialog('http://localhost/index.php');
win.close();
模态窗口的定义是当前函数的执行停止,直到模态窗口关闭。 也就是说,对showModalDialog()
的调用将一直阻塞,直到关闭显示的对话框。 因此,您的win.close()
将在窗口已关闭(而不是您想要的) 后调用。
您有两种选择:
将对话框显示为非模式对话框,并在事件循环中等待,直到满足特定条件为止。 然后,从调用函数关闭窗口。
模态对话框在适当的时间关闭。
当执行showModalDialog
,整个代码序列将被阻止。 您需要关闭模式窗口才能继续,但是到那时, win
将为null
:P
模态对话框表示直到对话框关闭,才执行下一个运算符。 这就是为什么您在下一行中放置的内容将永远无效的原因。
这就是模式对话框的目的-冻结当前窗口并从用户那里获得一些强制性输入。 如果您想立即关闭它,我怀疑您真的不需要模式对话框。
顺便说一句,showModalDialog的返回值是对话框返回代码,而不是窗口变量!
通常,模式对话框是从内部关闭的。 如果您不想等待用户输入,则index.php代码中必须有一些内容可以将其关闭。
如果要从模式对话框中关闭它,可以使用:
$(“。ui-dialog-titlebar-close”,parent.document).trigger(“ click”);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.