Adobe官方给出三种事件处理的机制
[*]在 MXML 中注册事件处理程序
[*]在 MXML 定义中创建线上事件处理程序
[*]通过 ActionScript 注册事件监听器
详见:
[url]http://www.adobe.com/cn/devnet/flex/quickstart/handling_events/[/url]
其实上面三种处理机制原理上都是采用一种方法来处理的
就是采用在 ActionScript 注册事件监听器 这个最原始的方法,其他的方式都是它的变种
比如说:
上面的方法采用在 MXML 中注册事件处理程序来处理事件,编译的时候mxml文件都会生成as文件,就是将上面的事件处理函数都会做以下修改
将自定义的回调函数放在flex里真正的回调函数里处理,并传递event对象;__test_Button1_click是真正的回调函数
[*]在 MXML 中注册事件处理程序
[*]在 MXML 定义中创建线上事件处理程序
[*]通过 ActionScript 注册事件监听器
详见:
[url]http://www.adobe.com/cn/devnet/flex/quickstart/handling_events/[/url]
其实上面三种处理机制原理上都是采用一种方法来处理的
就是采用在 ActionScript 注册事件监听器 这个最原始的方法,其他的方式都是它的变种
比如说:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private function clickHandler(event:MouseEvent):void {
// do something...
}
]]>
</mx:Script>
<mx:Button label="button" click="clickHandler(event)"/>
</mx:Application>
上面的方法采用在 MXML 中注册事件处理程序来处理事件,编译的时候mxml文件都会生成as文件,就是将上面的事件处理函数都会做以下修改
public function __test_Button1_click(event:MouseEvent):void {
clickHandler(event);
}
将自定义的回调函数放在flex里真正的回调函数里处理,并传递event对象;__test_Button1_click是真正的回调函数