我在jquery ui对话框中放置了dojo下拉按钮。按钮的下拉列表不会显示在jquery ui对话框中,但会创建dojo按钮。我设想z-index超过1000.你对这个问题有任何建议。
这是我的代码
//links for dojo library
<script type="text/javascript">
//beginning of TraderView(CDS) Actions Button
require(["dojo/ready", "dijit/form/DropDownButton", "dijit/DropDownMenu", "dijit/MenuItem", "dojo/dom"], function (ready, DropDownButton, DropDownMenu, MenuItem, dom) {
ready(function () {
//for document
var menu = new DropDownMenu();
var menuItem1 = new MenuItem({
label: "Export to Excel",
onClick: function () { alert('Export to Excel'); }
});
menu.addChild(menuItem1);
var menuItem2 = new MenuItem({
label: "Export to PDF",
onClick: function () { alert('Export to PDF'); }
});
menu.addChild(menuItem2);
var menuItem3 = new MenuItem({
label: "Term Sheet",
onClick: function () { alert('Term Sheet'); }
});
menu.addChild(menuItem3);
var button = new DropDownButton({
label: "Document",
name: "dcment",
dropDown: menu,
id: "tvButton"
});
dom.byId("dropDownButtonDc").appendChild(button.domNode);
});
});
//end of TraderView(CDS) Actions Button
</script>
答案 0 :(得分:1)
为每个弹出窗口计算弹出窗口z-index
,因为您可以从弹出窗口打开弹出窗口,并且子窗口弹出窗口应该高于父弹出窗口。您可以做的是设置_beginZIndex
dijit/popup
又名PopupManager
- 即第一个弹出窗口的值 - 使用jQuery UI对话框,1005的值对我来说很好。
一个有效的jsFiddle示例:http://jsfiddle.net/phusick/q8V58/
对话框被DnD移动后, 编辑: z-index: 1005
似乎不够,所以我把10000放在那里是安全的。
require([
"dojo/ready",
"dojo/dom",
"dijit/popup",
"dijit/form/DropDownButton",
"dijit/DropDownMenu",
"dijit/MenuItem"
], function(
ready,
dom,
PopupManager,
DropDownButton,
DropDownMenu,
MenuItem
) {
ready(function() {
// set z-index
PopupManager._beginZIndex = 1005;
var menu = new DropDownMenu();
var menuItem1 = new MenuItem({
label: "Export to Excel",
onClick: function () { alert('Export to Excel'); }
});
var menuItem2 = new MenuItem({
label: "Export to PDF",
onClick: function () { alert('Export to PDF'); }
});
var menuItem3 = new MenuItem({
label: "Term Sheet",
onClick: function () { alert('Term Sheet'); }
});
menu.addChild(menuItem1);
menu.addChild(menuItem2);
menu.addChild(menuItem3);
var button = new DropDownButton({
label: "Document",
name: "dcment",
dropDown: menu,
id: "tvButton"
});
button.startup();
button.placeAt(dom.byId("dropDownButtonDc"));
$("#dialog1").dialog({ title: "dialog1"});
});
});