2009-12-29 67 views
0

我试图删除一个eventlistener(在这个特定情况下)一个Horizo​​ntalList。该列表与属性初始化Howto removeEventListener with <mx:SetEventHandler />?

为itemRollOver = “playPreview(事件)”

我想用开关状态,并说明类似删除此事件监听:

<mx:SetEventHandler target="{horList}" name="itemRollOver" handlerFunction="null" />

这似乎不起作用。该事件仍然处理,playPreview(event:ListEvent)仍然被调用。如何正确地做到这一点? (我知道我可以在ActionScript做到这一点,但我特别希望通过状态切换的方式做到这一点)

干杯巴特

回答

1

AFAIK您只能删除已添加AS听众,不添加MXML者。所以你应该从mxml中移除监听器,在你的应用程序的creationComplete中使用AS来添加事件监听器,然后无论你如何让你的状态切换都可以触发一个AS函数来移除它。

我的头顶部的代码是这样的:

HList.addEventListener(MOUSE_EVENT.RollOver,nameOfRollOverFunction); 
HList.removeEventListener(MOUSE_EVENT.RollOver,nameOfRollOverFunction) 
+0

谢谢,然后我会坚持到AS。 与此同时,我通过在从状态切换到状态时将属性“mouseEnabled”设置为“false”来修补问题。 剩下的事情是:什么是?它的名字意味着某种对eventHandlers的操纵。 – 2009-12-29 15:19:20

+0

我从来没有见过它。也许只是通过一个链接回到这个问题,看看有没有人可以给你更多的细节。 – invertedSpear 2009-12-29 15:21:53

相关问题