我正在使用 Dojo 版本 1.6.1。我正在构建一个菜单,其中包含一个对话框 dijit 作为 PopupMenuItem 的弹出窗口。但是,如果菜单停靠在应用程序的右侧,则此方法有效,我需要将弹出窗口显示在菜单的左侧。我似乎无法让它工作。如果我使用另一种类型的小部件(如 ColorPalette),则效果很好。使用弹出子菜单和弹出式调色板,如果菜单位于屏幕右侧,则所有内容都向左打开,如果菜单位于屏幕左侧,则所有内容都向右侧打开。Dojo 只是自动处理这个问题。但是对于任何 Dialog 小部件,即使是空的,它总是会弹出到 PopupMenuItem 的右侧,而不管菜单在屏幕上的哪个位置。我想也许可以指定 div 的高度和宽度,即 dijit。
这是代码的简化版本:
<div data-dojo-type="dijit.Menu" id="toolPalette" style="position:absolute; right:0; top:0; z-index: 999;">
</div>
<script>
// Grab the div for the menu, declared in the HTML above.
var toolPalette = dijit.byId("toolPalette");
// This tool button has a popup
var menuItem1 = new dijit.PopupMenuItem({
id: "menuItem1",
iconClass: "shelterIcon",
popup: new dijit.Dialog()
});
toolPalette.addChild(menuItem1);
// This tool button does not have a popup
var menuItem2 = new dijit.MenuItem({
id: "menuItem2",
iconClass: "shelterIcon"
});
toolPalette.addChild(menuItem2);
toolPalette.startup();
</script>
任何帮助是极大的赞赏!我已经尝试了我能想到的一切。