我創建了一個dijit.TooltipDialog和一切正常,因爲它應該。但是,如果在工具提示對話框中生成另一個對話框,它將顯示在工具提示對話框的後面,而不是位於其之上。我檢查了2個對話框中的zIndex,工具提示對話框是1000,另一個對話框是950.我如何設置zIndex的一個dijit.TooltipDialog?
我試着在各自的容器節點和工具提示對話框的「domNode」上設置zIndex,但都沒有運氣。那麼是否有人知道如何在工具提示對話框中設置zIndex?
我創建了一個dijit.TooltipDialog和一切正常,因爲它應該。但是,如果在工具提示對話框中生成另一個對話框,它將顯示在工具提示對話框的後面,而不是位於其之上。我檢查了2個對話框中的zIndex,工具提示對話框是1000,另一個對話框是950.我如何設置zIndex的一個dijit.TooltipDialog?
我試着在各自的容器節點和工具提示對話框的「domNode」上設置zIndex,但都沒有運氣。那麼是否有人知道如何在工具提示對話框中設置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);
}
如果您在創建程序化工具提示後檢查dom,則會發現該工具提示 - 工具提示放置在<body>
下面的覆蓋容器中。
如前所述,尋求這種替代方法..但是我的回答如下;爲您成功設置的z-index你必須找到正確的節點 - 因爲對話框中有通過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")
}
感謝您的回答。我讀過你的回答你發佈的代碼之前,但我找不到underlayAttrs屬性,但是,導致我tooltipDialog._popupWrapper其中有1000一個用zIndex因此,使用dojo.style(this._popupWrapper,「用zIndex」 900)修復了這個問題。 – keithstric
期望針對各種瀏覽器和嵌套的工具提示對話框有不同的行爲。 tooltipdialog不是要走的路,因爲它們是設計模式。而不是去想下拉菜單作爲替代 – mschr
除了一個完整的對話框上的提示對話框正是我需要的。我有一個dojox.TreeGrid,它具有一個右鍵菜單項來預覽選定的文檔。這會彈出tooltipDialog與表單和底層記錄中的所有內容。但是,該表單可能會在提示對話框的頂部顯示提示,對話框和其他元素。 – keithstric