2009-12-29 62 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

相關問題