2012-07-24 47 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>