我创建了一个 dijit.TooltipDialog 并且一切正常。但是,如果从工具提示对话框中生成另一个对话框,它将显示在工具提示对话框的后面而不是在它的顶部。我检查了 2 个对话框上的 zIndex,工具提示对话框是 1000,另一个对话框是 950。
我尝试在相应的容器节点和工具提示对话框的“domNode”上设置 zIndex,但都没有成功。那么有人知道如何在工具提示对话框上设置 zIndex 吗?
我创建了一个 dijit.TooltipDialog 并且一切正常。但是,如果从工具提示对话框中生成另一个对话框,它将显示在工具提示对话框的后面而不是在它的顶部。我检查了 2 个对话框上的 zIndex,工具提示对话框是 1000,另一个对话框是 950。
我尝试在相应的容器节点和工具提示对话框的“domNode”上设置 zIndex,但都没有成功。那么有人知道如何在工具提示对话框上设置 zIndex 吗?
如果您在创建编程工具提示后检查 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")
}
按照 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);
}