Javascript 避免Dijit菜单与其目标div之间的重叠
我有一个Dijit.Menu和一个div的代码示例。 左键单击菜单,我的问题是菜单重叠(或覆盖、隐藏)目标div的内容,用户在与菜单中显示的备选方案进行比较时无法读取其内容,请参见下图 因此,有没有一种方法可以使菜单在不重叠div内容的情况下显示,以便在浏览菜单项时可以看到div内容,可以将菜单定位在div的下方或上方,如下图所示Javascript 避免Dijit菜单与其目标div之间的重叠,javascript,menu,dojo,popup,dijit.form,Javascript,Menu,Dojo,Popup,Dijit.form,我有一个Dijit.Menu和一个div的代码示例。 左键单击菜单,我的问题是菜单重叠(或覆盖、隐藏)目标div的内容,用户在与菜单中显示的备选方案进行比较时无法读取其内容,请参见下图 因此,有没有一种方法可以使菜单在不重叠div内容的情况下显示,以便在浏览菜单项时可以看到div内容,可以将菜单定位在div的下方或上方,如下图所示 您可以使用工具提示对话框,以下是基于您提供的对话框的一个示例。这可以通过在显示弹出菜单时触发的onOpen事件上附加一些javascript来实现 代码应获取单击元
您可以使用
工具提示对话框
,以下是基于您提供的对话框的一个示例。这可以通过在显示弹出菜单时触发的onOpen
事件上附加一些javascript来实现
代码应获取单击元素的位置和高度,并计算菜单应放置的位置:
- x:是触发元件的x位置
- y:y位置与触发元件的高度之和
pMenu.connect(pMenu, 'onOpen', function () {
var position = dojo.position(this.currentTarget, true);
domStyle.set(this.domNode.parentNode, {
left: position.x + "px",
top: (position.y + position.h) + "px"
});
});
这里有一个重叠是什么意思,菜单的本质是显示在任何东西的顶部?你能解释更多吗?我看不出你想要什么或者问题在哪里?我补充了更多细节,希望这能有所帮助,谢谢。