0

有人可以解释一下如何自定义 Menu 和 MenuItems 吗?如果光标不在小部件上方,我希望悬停不会消失。我的意思是 MenuItem 必须在单击后被选中并悬停。它必须保持选中并悬停,直到我们单击另一个项目。这是一个:示例,但我无法弄清楚它是如何工作的。

小更新:对不起我的英语。可能我没有很好地解释这个问题。查看示例 ,当我单击任何 menuItem 时,它不会保持选中状态(我的意思是,如果鼠标光标位于另一个按钮上,则选择消失)。现在看一下 当我单击“喜剧”或“戏剧”或“浪漫”等按钮时的示例,它保持选中状态。即使鼠标光标不在单击的按钮上。这就是我想要实现的

4

1 回答 1

0

你的问题不是很清楚:

如果光标不在小部件上方,悬停不会消失。我的意思是 MenuItem 必须在单击它后被选中并悬停。并且它必须保持选中并悬停,直到我们单击另一个项目。

“如果光标不在小部件上,悬停不会消失。” 对所有 Menu 和 menuItems 都是正确的,但所有弹出菜单在单击后都会消失。从您提到的菜单测试页面中,我没有看到任何弹出菜单会在您单击选择后保留在那里。

但是,如果您正在寻找类似passivePopupDelay 的功能,那就是dojo1.9 新增的功能。请在此处查看dojo 1.9 发行说明

*此外,MenuBars(以及 Menus)上有一个新的 passivePopupDelay 属性,当设置为有限值时,只需悬停菜单即可打开下拉菜单。通常用户需要点击菜单来显示下拉菜单。*

编辑:根据更新的问题,这里有一些来自文档的信息

“选定/活动”是指选定的选项卡,由鼠标或键盘控制。在实现方面,这意味着 MenuItem 具有焦点,或者焦点位于该 MenuItem 的子菜单上。 Menu/MenuBar domNode 有一个 dijitMenuPassive/dijitMenuActive 类,因此可以根据菜单是否具有焦点来自定义悬停的 CSS 规则。一旦菜单获得焦点,dijitMenuHover 效果将被禁用,以支持 dijitMenuSelected 效果,因此如果用户将鼠标移到“文件”上,然后使用键盘箭头移动到“文件”,dijitMenuHover 效果将不会停留在“文件”上。编辑”菜单栏项。(这是 tundra/nihilo/soria 中的设置,可以根据需要进行更改。)

您可以按照此将您的代码与dojo 菜单测试页面的源代码进行比较。

于 2013-09-27T15:21:10.173 回答