2011-12-06 15 views
1

畫布不會觸發事件的空白事件。畫布的空白空間不火Flex中

我的問題是我有,顯示由不同的數字圖的應用程序的畫布,但畫布空的地方不會觸發,我需要,因爲側翻事件。

你能告訴我怎樣才能讓我的畫布觸發事件,即使在空的空間?

我已經設置背景顏色,將mouseEnabled,顏色,邊框,α,opaqueBackground等,並沒有什麼作品。

我使用Flex 4,我也只使用MX:帆布。

這裏是事件偵聽器註冊:

canDiagram.addEventListener(MouseEvent.ROLL_OVER, function(event:MouseEvent):void{if(actualCursor != null){CursorManager.setCursor(actualCursor,2,-10,-10);}},true); 
canDiagram.addEventListener(MouseEvent.ROLL_OUT, function(event:MouseEvent):void{CursorManager.removeAllCursors();},true); 

回答

0

通常情況下,這類問題可以通過設置backgroundColor和設置backgroundAlpha 0

固定你說你已經嘗試過;你可以發佈你的Canvas定義的例子嗎?

我也會在你的事件處理程序中放一個跟蹤語句或類似的東西,只是爲了確保它們實際上沒有被調用。我遇到了一些情況,我無法弄清楚爲什麼某個特定事件沒有被解僱,只是發現它是事實,但是我的處理者沒有做到我所期望的。

1

您需要確保將顏色設置爲backgroundColor,並將backgroundAlpha設置爲0.這確保它仍然是透明的,並且您的鼠標事件將會觸發。這裏是我測試的畫布,我用得到它的工作

<mx:Canvas x="104" y="107" width="215" height="134" backgroundAlpha="0" 
      backgroundColor="#FFFFFF" rollOut="canvas1_rollOutHandler(event)" 
      rollOver="canvas1_rollOverHandler(event)"> 
</mx:Canvas>