0

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

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

4

2 回答 2

1

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

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

这是它的小提琴:http: //jsfiddle.net/rQHSP/

简而言之,这是您可以做的。

   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")
   }
于 2012-05-13T15:36:55.860 回答
1

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

var dij = dijit.byId(dojo.query("[id*='_TooltipDialog_']")[0].id);
dij.onShow = function() {
    dojo.style(dij._popupWrapper,"zIndex",900);
}
于 2012-05-13T23:26:56.033 回答