flex事件机制1:事件源

事件源产生并分派(dispatch)事件。在flex中,通过继承flash.events.EventDispatcher类,就可以使用dispatchEvent()方法分发事件给事件监听者。

ActionScript3.0语言参考中关于dispatchEvent方法的说明如下:

public function dispatchEvent(event:Event):Boolean 
将事件调度到事件流中。 事件目标是对其调用 dispatchEvent() 方法的 EventDispatcher 对象。 

参数 
event:Event — 调度到事件流中的 Event 对象。 如果正在重新调度事件,则会自动创建此事件的一个克隆。 在调度了事件后,其 target 属性将无法更改,因此您必须创建此事件的一个新副本以能够重新调度。

返回 
Boolean — 如果成功调度了事件,则值为 
true。 值 false 表示失败或对事件调用了 preventDefault()。

 

继承了EventDispatcher只是实现了事件分发功能。默认只支持activatedeactivate事件。要支持其他事件,如click等,甚至自定义事件,还需要用Event 标签声明可以分派的事件。Event 标签用于定义组件发出的事件。

Event 标签的例子如下:

 

    [Event(name="event_A",type="test.events.MyEvent")]

 

如果要在mxml中声明事件,需要使用Metadata标签:

 

<mx:Metadata>
     [Event(name="event_A",type="test.events.MyEvent")]
</mx:Metadata>

 

posted @ 2007-11-13 14:51  心内求法  阅读(451)  评论(0编辑  收藏  举报