[英]dojo dijit dialog underlay not showing
我试图最初隐藏三个不同的对话框,然后根据ajax表单提交的响应,希望显示不同的对话框。
提交表单并等待响应时,我可以显示“进行中”对话框。 然后,如果服务器返回错误响应,我想隐藏第一个对话框,然后根据错误响应类型显示另一个对话框。
除了隐藏第一个对话框并显示下一个对话框时,基本可以实现我想要做的事情,但参考底图会消失。 如果然后在浏览器窗口中滚动,则正确显示参考底图。 我正在做这样简单的事情:
dijit.byId("progress_dialog").hide();
dijit.byId("error_dialog").show();
有人有建议吗?
我已经在dojo网站上看到了以下页面,但这似乎是dojo 0.9的临时解决方案? http://www.dojotoolkit.org/forum/dijit-dijit-0-9/dijit-support/showing-dialog-right-after-hiding-another-dialog-while-keeping-u
任何帮助,将不胜感激。
谢谢。
[编辑]好的,我通过添加如下所示的一些延迟来“解决”该问题。
dijit.byId("progress_dialog").hide();
setTimeout(function() {
dijit.byId("error_dialog").show();
}, 500);
这对我有用,但是我认为可能有更好的解决方法。 有没有人?
[再次编辑]我正在使用的版本是dojo-1.3.2
在dojo 1.3中,对话框的参考底图出现了很多问题,因为所有对话框对象开始使用1个通用参考底图(而不是创建自己的参考底图)。
我怀疑您的情况下的参考底图会在隐藏之前显示出来-您可以根据需要进行调试;)
作为解决方法,超时是可以的(我想可以更短)。 或者,您可以尝试连接到hide
方法(但是不确定是否会有所帮助):
dojo.connect(dijit.byId("progress_dialog"), "hide", dijit.byId("error_dialog"), "show");
dijit.byId("progress_dialog").hide();
但是考虑到1.3中底层的所有这些问题,我会考虑使用dojo 1.4,因为已经提交了dijit.Dialog的一些补丁: http ://docs.dojocampus.org/releasenotes/1.4。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.