Dojo 如何在dijit.TooltipDialog上设置zIndex?

Dojo 如何在dijit.TooltipDialog上设置zIndex?,dojo,xpages,xpages-ssjs,Dojo,Xpages,Xpages Ssjs,我创建了一个dijit.TooltipDialog,一切都正常工作。但是,如果从“工具提示”对话框中生成另一个对话框,则该对话框将显示在“工具提示”对话框的后面,而不是顶部。我检查了两个对话框上的zIndex,工具提示对话框是1000,另一个对话框是950 我尝试在相应的容器节点和工具提示对话框的“domNode”上设置zIndex,但都没有成功。那么,有人知道如何在工具提示对话框上设置zIndex吗?如果在创建编程工具提示后检查dom,您会发现-工具提示放置在下面的覆盖容器中 如前所述,为此寻

我创建了一个dijit.TooltipDialog,一切都正常工作。但是,如果从“工具提示”对话框中生成另一个对话框,则该对话框将显示在“工具提示”对话框的后面,而不是顶部。我检查了两个对话框上的zIndex,工具提示对话框是1000,另一个对话框是950


我尝试在相应的容器节点和工具提示对话框的“domNode”上设置zIndex,但都没有成功。那么,有人知道如何在工具提示对话框上设置zIndex吗?

如果在创建编程工具提示后检查dom,您会发现-工具提示放置在
下面的覆盖容器中

如前所述,为此寻求替代方法。。但答案如下:;要成功设置z索引,您必须找到正确的节点-该节点不是domNode,因为对话框通过dijit.popup设计有自己的“层”

这里是它的小提琴:

简而言之,这就是你能做的

   myDialog.onShow = function() {
        node = this.domNode
        // loop upwards untill we hit a wall or nodes class mathes popup
        while (node 
           && (!node.className || !node.className.match("dijitTooltipDialogPopup")))
              node = node.parentNode

        console.log(dojo.style(node, "zIndex")
   }

根据mschr的回答,我找不到dijit.TooltipDialog的underlayAttrs属性。但这确实让我找到了PopupRapper,它是整个弹出窗口的包装节点。该节点的zIndex为1000。以下代码更正了该问题:

var dij = dijit.byId(dojo.query("[id*='_TooltipDialog_']")[0].id);
dij.onShow = function() {
    dojo.style(dij._popupWrapper,"zIndex",900);
}

对于不同的浏览器和嵌套的工具提示对话框,预期会有不同的行为。工具提示对话框不是一个好办法,因为它们在设计上是模态的。相反,将下拉菜单视为一个替代选项,而不是一个完全打开的对话框。工具提示对话框正是我所需要的。我有一个dojox.TreeGrid,带有一个右键单击菜单项,用于预览所选文档。这将启动包含表单和底层记录的所有内容的tooltipDialog。但是,该表单可能有提示、对话框和其他元素,这些元素应该显示在工具提示对话框的顶部。谢谢您的回答。在您发布代码之前,我已经阅读了您的答案,但我找不到underlayAttrs属性,但这让我找到了tooltipDialog.\u PopupRapper,其zIndex为1000。因此,使用dojo.style(这个._popupRapper,“zIndex”,900)修复了这个问题。