2009-11-03 35 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