Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Menu 如何在屏幕上移动小部件?_Menu_Dojo_Positioning - Fatal编程技术网

Menu 如何在屏幕上移动小部件?

Menu 如何在屏幕上移动小部件?,menu,dojo,positioning,Menu,Dojo,Positioning,我有一个菜单小部件,我想在用户单击特定dom元素时显示它,但我不想要菜单栏。最好的方法是什么?我已经尝试将单击处理程序附加到相关的DOM元素,并让单击处理程序显示菜单,但我只能让它在原始声明性标记将呈现的区域中显示菜单。我根本无法让它移动。我正在尝试使用dojo.style(myWidget.domNode,'top',calculatedTop)(以及与'left'等效的)。我遗漏了什么(明显的东西) 谢谢。由于您使用的是dijit的默认设置,我认为您只需要在菜单小部件()上指定属性targe

我有一个
菜单
小部件,我想在用户单击特定dom元素时显示它,但我不想要
菜单栏
。最好的方法是什么?我已经尝试将单击处理程序附加到相关的DOM元素,并让单击处理程序显示
菜单
,但我只能让它在原始声明性标记将呈现的区域中显示
菜单
。我根本无法让它移动。我正在尝试使用
dojo.style(myWidget.domNode,'top',calculatedTop)
(以及与
'left'等效的
)。我遗漏了什么(明显的东西)


谢谢。

由于您使用的是dijit的默认设置,我认为您只需要在菜单小部件()上指定属性
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>


这听起来很有希望,但我有几个问题:如何使用声明式样式指定它?当用户点击某个区域而不是右键点击时,我如何触发它?如果这是显而易见的东西,很抱歉,但我在Dojo是一个彻头彻尾的n00b。我应该做些什么来让
数据Dojo类型
工作吗?如果我使用它而不是
dojoType
,我的渲染会完全失控(从左上到右下的阶梯)。还有,有没有一种方法可以让菜单在hover(一种基于CSS的滚动菜单)上打开?谢谢。我不相信有任何内置的对滚动的支持,尽管在继承dijit.Menu属性的小部件中实现它可能不会太困难。您能在jsfiddle.net之类的东西上发布一个小的问题示例吗?我将尝试将该文件编辑成一个小的可复制的测试用例,然后返回给您。在此之前,它本质上是一个具有一些不同输入类型、导航菜单和(自定义、公司)主题的表单。如果我使用
dojoType
,一切正常,但是如果我使用
数据dojo类型
,那么我就得到了stairstep效果。顺便说一句,感谢所有的帮助,[EnterpriseDojo]()都有了创建dojo小部件的良好开端。