2012-07-24 36 views
0

我是新來flex,並使用一個小型的開源UI庫ReCoral。在我的測試中,我使用它的Application類作爲mxml的根,並且它有一個點擊處理程序。如何在flex中調試事件?

<?xml version="1.0" encoding="utf-8"?> 
<common:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:common="geb.common.*" width="500" height="500" 
    xmlns:controls="geb.controls.*" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    click="hello()"> 

    <fx:Script> 
     <![CDATA[ 
      private function hello(): void { 
       trace("world"); 
      } 
     ]]> 
    </fx:Script> 

    <controls:Label text="Click Me" height="100" width="100" click="hello()" /> 
</common:Application> 

你可以看到代碼很簡單。

但是,當我點擊標籤或應用程序時,hello()方法似乎從未被調用過。我試圖在調試模式下在trace("world")行添加一個斷點,它從來沒有被觸發過。

由於作者相當繁忙,而且我是新來的flex,我不知道如何調試這個問題。

  1. 是否有任何方法來監聽任何點擊事件並記錄信息?
  2. 有沒有我應該閱讀的有用文件?
+0

不熟悉RedCoral,但用於添加偵聽器和您正在執行的其他任何操作的語法似乎是正確的。嘗試用標準Flex組件(''和'')交換RedCoral組件(''和'')。聽衆是否適用於Flex組件? – 2012-07-24 15:58:43

+0

閱讀RedCoral的一些源代碼後,我發現它將'mouseEnabled'設置爲'false',所以我必須在'Label'中將其設置爲true。 – Freewind 2012-07-24 16:06:25

+0

非常感謝。我想我應該很快刪除這個問題 – Freewind 2012-07-24 16:07:09

回答

1

嘗試這個。您需要添加事件類型

<?xml version="1.0" encoding="utf-8"?> 
<common:Application 
xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:common="geb.common.*" width="500" height="500" 
xmlns:controls="geb.controls.*" 
xmlns:mx="library://ns.adobe.com/flex/mx" 
click="hello()"> 

<fx:Script> 
    <![CDATA[ 
     private function hello(event:MouseEvent): void { 
      trace("world"); 
     } 
    ]]> 
</fx:Script> 

<controls:Label text="Click Me" height="100" width="100" click="hello(event)" /> 
</common:Application>