根据dijit/menu的Dojo文档 您可以通过指定节点的ID将菜单附加到节点。就像在他们的例子中一样
require([
"dijit/Menu",
"dijit/MenuItem",
"dijit/CheckedMenuItem",
"dijit/MenuSeparator",
"dijit/PopupMenuItem",
"dojo/domReady!"
], function(Menu, MenuItem, CheckedMenuItem, MenuSeparator, PopupMenuItem){
var pMenu;
pMenu = new Menu({
targetNodeIds: ["progmenu"]
});
...
...
pMenu.startup();
});
节点
<span id="progmenu">Right click me to get a menu</span>
但是我不能在我的项目中使用Id。我需要使用附加点。如何通过附加点将菜单附加到节点?
答案 0 :(得分:4)
在Dojo中您可以指定DOM节点的id的大多数位置,您可以指定节点本身作为替代,假设您可以获得对它的引用(与附加点的情况一样)。
如果progmenu附加点引用窗口小部件,请指向窗口小部件的domNode。
pMenu = new Menu({
targetNodeIds: [this.progmenu.domNode]
});
如果附加点是DOM节点,请直接使用附加点,或者包含对节点的引用的任何变量。
pMenu = new Menu({
targetNodeIds: [this.progmenu]
});
另一个选择是使用dijit/Menu。bindDomNode,使用相同的技巧到达节点。