2011-12-06 17 views
1

キャンバスの空白はイベントを発生させません。キャンバスの空白は、Flexでイベントを発生させません。

私の問題は、さまざまな図で構成された図を表示するアプリケーションにキャンバスがありますが、キャンバスの空の場所では、ロールオーバーとして必要なイベントが発生しません。

空き領域でも、キャンバスのトリガーイベントをどのようにすることができますか教えてください。

背景色、mouseEnabled、color、border、alpha、opaqueBackgroundなどを設定していますが、何も動作しません。

私はFlex 4を使用しています。私はmx:Canvasのみを使用しなければなりません。ここで

がイベントリスナ登録されています

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を設定し、0

にbackgroundAlphaを設定することにより固定することができあなたは既にことを試みたと言います;キャンバス定義の例を投稿できますか?

イベントハンドラにトレースステートメントなどを入れて、実際に呼び出されていないことを確認します。私は、特定のイベントがなぜ発射されていないのかを知ることができない状況を抱えていましたが、私のハンドラは私が期待したことをしていないだけでした。

1

backgroundColorにcolorを設定し、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> 
関連する問題