有人可以解释我如何自定义Menu和MenuItems吗? 如果光标不在窗口小部件上,我希望悬停不会消失。我的意思是在点击它之后必须选择并悬停MenuItem。它必须保持选择和悬停,直到我们点击另一个项目。 这是:example但我无法弄清楚它是如何工作的。
小更新: 我很抱歉我的英语。可能我很难解释这个问题。 看看example 当我点击任何menuItem它没有保持选中(我的意思是如果鼠标光标在另一个按钮上,那么选择消失)。 现在来看看 example 当我点击“喜剧”或“戏剧”或“浪漫”等按钮时,它会保持选中状态。即使鼠标光标没有在点击的按钮上。 这就是我想要实现的目标
答案 0 :(得分:0)
你的问题不太清楚:
“当光标不在窗口小部件上时,鼠标悬停并没有消失。我的意思是在点击它之后必须选择并悬停MenuItem。它必须保持选中并悬停直到我们点击另一个项目。“
“如果光标不在窗口小部件上,则悬停不会消失。”对于所有Menu和menuItem都是正确的,但是单击它后所有弹出菜单都将消失。从您提到的菜单测试页面中,我没有看到任何弹出菜单会在您点击选择后保留在那里。
但是,如果你看起来像passivePopupDelay功能,那就是dojo1.9新添加的功能。请在此处查看dojo 1.9 release note
* 此外,MenuBars(以及菜单)上还有一个新的passivePopupDelay属性,当设置为有限值时,仅悬停菜单将打开下拉列表。通常,用户需要单击菜单以显示下拉菜单。 *
编辑:根据更新后的问题,以下是document
中的一些信息“已选择/有效”是所选标签的含义,由鼠标或键盘控制。实现方面,它意味着MenuItem具有焦点,或者焦点位于该MenuItem的子菜单上。 Menu / MenuBar domNode具有dijitMenuPassive / dijitMenuActive类,因此可以根据菜单是否具有焦点来自定义悬停的CSS规则。一旦菜单获得焦点,dijitMenuHover效果将被禁用,以支持dijitMenuSelected效果,因此如果用户将鼠标移到“文件”上,然后使用键盘箭头,则dijitMenuHover效果将不会停留在“文件”上移动到“编辑”MenuBarItem。 (这是tundra / nihilo / soria中的一个设置,如果需要可以更改。)
您可以按照此操作将您的代码与dojo menu test page的源代码进行比较。