嵌套Dojo.Dialog的问题';s

嵌套Dojo.Dialog的问题';s,dojo,modal-dialog,Dojo,Modal Dialog,我的网页上有两个“嵌套”或“层叠”对话框(一个对话框在上面打开另一个对话框),当我试图关闭“最顶端”对话框时遇到问题 以下是场景: 对话框1打开 对话框2从对话框1内的按钮打开 对话框2在按钮单击时关闭,代码如下: dialog2.hide() dialog2.recursive() 问题发生了 “问题”被定义为“模态”(如中所述,对话框是模态的)在对话框2中丢失(意味着您现在可以与对话框1交互),在对话框1中丢失(意味着您可以与对话框后面的页面交互),但对话框1仍然存在 有趣的是,当您使用右上

我的网页上有两个“嵌套”或“层叠”对话框(一个对话框在上面打开另一个对话框),当我试图关闭“最顶端”对话框时遇到问题

以下是场景:

  • 对话框1打开
  • 对话框2从对话框1内的按钮打开
  • 对话框2在按钮单击时关闭,代码如下:

    dialog2.hide()
    dialog2.recursive()

  • 问题发生了

  • “问题”被定义为“模态”(如中所述,对话框是模态的)在对话框2中丢失(意味着您现在可以与对话框1交互),在对话框1中丢失(意味着您可以与对话框后面的页面交互),但对话框1仍然存在

    有趣的是,当您使用右上角的X关闭对话框时,这个问题并没有显示出来。有没有更好的方法来关闭对话框


    编辑:我正在使用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(),以查看是否存在任何差异。听起来您可能遇到了与此处所问相同的问题?