2009-11-03 101 views
0

我正在制作一个正确的工具栏,上面有不同的按钮。当我翻转它时,它会在视图内滑动,当我展开时,它几乎可以从视图中滑出90%。它上面的每个按钮也有一些rollOver/Out事件监听器。 问题是,当我在任何按钮上滚动时,容器(工具栏)的分装事件被派遣并且工具栏隐藏自身。Flex 3:Rollout/RollOver事件调度问题

是否有任何方法可以在翻转/展开工具栏上保持隐藏/显示,还可以通过工具栏上的按钮进行验证?

感谢

回答

0

如果我在Flash有这个问题,我听的mouseMoved事件,并检查了鼠标的x和y。如果您将此技术用于您的工具栏,则可以继续使用RollOver/Out作为按钮。但是,也许你可以在我不知道的Flex中更轻松地解决它。

Here's你的解决方案我认为,与mouseChildren属性。

+0

谢谢,我也使用mouseX-MouseY位置计算,但我想确认它是否是最好的方式来做到这一点。我认为这是:) – Max 2009-11-05 12:31:10

3

如果你试图阻止被称为事件侦听(而且好像那是你的问题),最简单的方法是调用

event.stopImmediatePropegation() 

您可能需要几个它增加了优先级参数的addEventListener:

             // capture 
target.addEventListener(MouseEvent.CLICK, clickHandler, false, 1000); 
                   // priority 

关键是要确保你有MenuButtons使用的优先级高于菜单本身,这样就可以防止菜单从听菜单按钮。

+0

我不认为这是他的问题。 – 2009-11-03 22:20:56

+0

我不确定这是否是他的问题,但我认为这是他试图解决的问题的根源。 – cwallenpoole 2009-11-04 07:26:29

+0

谢谢克里斯托弗:) – Max 2009-11-05 12:34:08