嵌套Dojo.Dialog的问题';s
我的网页上有两个“嵌套”或“层叠”对话框(一个对话框在上面打开另一个对话框),当我试图关闭“最顶端”对话框时遇到问题 以下是场景:嵌套Dojo.Dialog的问题';s,dojo,modal-dialog,Dojo,Modal Dialog,我的网页上有两个“嵌套”或“层叠”对话框(一个对话框在上面打开另一个对话框),当我试图关闭“最顶端”对话框时遇到问题 以下是场景: 对话框1打开 对话框2从对话框1内的按钮打开 对话框2在按钮单击时关闭,代码如下: dialog2.hide() dialog2.recursive() 问题发生了 “问题”被定义为“模态”(如中所述,对话框是模态的)在对话框2中丢失(意味着您现在可以与对话框1交互),在对话框1中丢失(意味着您可以与对话框后面的页面交互),但对话框1仍然存在 有趣的是,当您使用右上
dialog2.recursive()
编辑:我正在使用dojo 1.5我在1.5中使用了嵌套对话框,没有问题 尝试跳过
destroyRecursive()
调用或将其更改为destroy()
,以查看是否存在任何差异
另外,您是否正在单击处理程序中调用hide()
?尝试设置计时器,以便在处理程序返回后调用hide()
。我记得在处理程序中调用hide
对话框有时会把事情搞砸
您所说的“丢失模态”,实际发生的是对话框参考底图被隐藏。参考底图是一个与类dijit.DialogUnderlay
链接的DIV(好的,是DIV中的DIV),该DIV通常在dijig.Dialog.show上显示,在隐藏时隐藏。div覆盖整个屏幕区域,这就是提供“模态”的地方
您还应该进入您最喜欢的web开发人员工具(Firebug或WebKit/IE的开发工具)来检查此参考底图分区。它应该位于正文的最末端。查看它是否隐藏。您使用的是什么版本的Dojo?嵌套对话框应该在Dojo 1.4中起作用。如果你在更新一些东西,你可能会想在bugs.dojotoolkit.org上提交一张罚单。我在1.5中使用了嵌套对话框,没有问题。尝试跳过destroyRecursive()调用或将其更改为destroy(),以查看是否存在任何差异。听起来您可能遇到了与此处所问相同的问题?