每当用户点击特定的dom元素时,我都会显示一个Menu
小部件,但我不想要MenuBar
。最好的方法是什么?我尝试将点击处理程序附加到相关的DOM元素并让点击处理程序显示Menu
,但我只能在原始声明性标记所在的区域显示Menu
渲染。我根本无法让它移动。我正在尝试使用dojo.style(myWidget.domNode, 'top', calculatedTop)
(与'left'
等效)。我错过了什么(显而易见的事情)?
感谢。
答案 0 :(得分:2)
由于您使用的是dijit的默认menu widget,我认为您只需在菜单小部件(reference)上指定属性targetNodeIds
即可定义上下文菜单的位置相关:
targetNodeIds (Defined by dijit.Menu)
Array of dom node ids of nodes to attach to. Fill this with nodeIds upon widget creation and it becomes context menu for those nodes.
要在左键单击显示弹出窗口,我相信您要使用该属性leftClickToOpen
:
// leftClickToOpen: [const] Boolean
// If true, menu will open on left click instead of right click, similiar to a file menu.
//defaults to false
leftClickToOpen: false,
以声明方式指定它看起来像:
<div data-dojo-type="dijit.Menu" data-dojo-props="targetNodeIds: ['nodeId1','nodeId2','nodeId3'], leftClickToOpen:true"
style="display: none;">
<!-- Your content here -->
</div>