Javascript 如何将dijit/menu附加到节点而不使用id';s

Javascript 如何将dijit/menu附加到节点而不使用id';s,javascript,dojo,Javascript,Dojo,根据Dojo文档中的 可以通过指定节点的id将菜单附加到节点。就像他们的例子一样 require([ "dijit/Menu", "dijit/MenuItem", "dijit/CheckedMenuItem", "dijit/MenuSeparator", "dijit/PopupMenuItem", "dojo/domReady!" ], function(Menu, MenuItem, CheckedMenuItem, MenuSeparator, Pop

根据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();
  });
节点

右键单击我以获得菜单

但是,我不能在我的项目中使用Id。我需要使用附加点。如何通过附加点将菜单附加到节点?

在Dojo中,大多数可以指定DOM节点id的地方,可以将节点本身指定为备选方案,前提是可以获得对它的引用(如附加点)

如果progmenu附加点指向小部件,请指向小部件的domNode

pMenu = new Menu({
    targetNodeIds: [this.progmenu.domNode]
});
如果附加点是DOM节点,请直接使用附加点,或者使用包含对该节点引用的任何变量

pMenu = new Menu({
    targetNodeIds: [this.progmenu]
});

另一个选项是使用.bindDomNode,使用相同的技巧到达该节点。

在Dojo中可以指定DOM节点id的大多数地方,您可以指定节点本身作为替代,前提是您可以获得对它的引用(如附加点)

pMenu = new Menu({
    targetNodeIds: [this.progmenu]
});
如果progmenu附加点指向小部件,请指向小部件的domNode

pMenu = new Menu({
    targetNodeIds: [this.progmenu.domNode]
});
如果附加点是DOM节点,请直接使用附加点,或者使用包含对该节点引用的任何变量

pMenu = new Menu({
    targetNodeIds: [this.progmenu]
});
另一个选项是使用.bindDomNode,使用相同的技巧访问节点

pMenu = new Menu({
    targetNodeIds: [this.progmenu]
});