首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止mx:MenuBar (Flex)在鼠标悬停/翻转事件期间打开弹出子菜单?

如何防止mx:MenuBar (Flex)在鼠标悬停/翻转事件期间打开弹出子菜单?
EN

Stack Overflow用户
提问于 2013-03-21 03:27:21
回答 1查看 468关注 0票数 0

我使用一个带有xml数据的mx:MenuBar组件来带来一个菜单。我所看到的基本行为是,最初单击顶层菜单项(即在水平条上)时,弹出子菜单打开。然后不点击任何地方,如果我将鼠标放在水平菜单栏上/滚动到水平菜单栏上,其他顶级菜单的弹出子菜单就会打开。

这种行为似乎是不一致的。弹出子菜单应在单击任何顶层菜单项(水平菜单栏)时打开,或仅在菜单栏项的鼠标悬停/滚动时打开。

我希望弹出子菜单仅在单击顶层菜单(水平菜单栏)时打开。因此,我为mouseOver和rollOver事件添加了事件处理程序(不知道悬停在水平菜单栏上时实际会生成哪个事件)。在事件处理程序中,我调用了event.preventDefault()方法来防止默认行为(即打开弹出子菜单)。但是,什么都不起作用。我觉得,我无法控制它。

谁能说出如何抑制默认行为,并仅在菜单栏的单击事件时打开弹出子菜单。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-29 18:10:41

您可以使用“猴子修补”来重新定义MenuBar类的行为。要通过重写方法来做到这一点并不容易,因为它们是私有的。

这是一个具有活动的"view example“属性的工作源代码。

要重写的函数是

代码语言:javascript
复制
private function mouseOverHandler(event:MouseEvent):void
{
}

应该删除激活新菜单的代码行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15532911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档