注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Flex 技术博客

醉里挑灯看剑,梦回吹角连营

 
 
 

日志

 
 

Flex事件机制基础(一)  

2007-09-24 16:20:26|  分类: Flex 基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

很多开发人员都知道如何使用事件机制,但却不理解事件机制的基本工作原理。在这里我们探讨一下ActionScript 3的事件机制(无论是新手还是老手,我相信看到最后肯定对你有所帮助 )。
1. 首先来看一下事件机制中的几个基本概念:

  • event objects(这里我们姑且叫它事件对象):所有的事件对象都是flash.events.Event或者其子类。比如说鼠标事件MouseEvent,计时器事件TimerEvent。每个事件对象中都包括事件类型(type)和事件源(target),便于event listener知道该事件的类型以及是谁抛出这样的事件。
  • event dispatchers(姑且叫它事件源):是事件发起的主体。所有的dispatcher都是EventDispatcher或其子类。事件触发源必须提供API让listener进行对该事件的注册(register)。
  • event listeners(姑且叫它事件监听器):在AS 3.0中它往往表现为一个函数。我们必须为每个特殊的事件和事件源注册一个监听器,当事件发生的时候,事件源(dispatcher)会通知该监听器去处理制定的事件。

2. 如何注册监听器(registering Listener)
在AS 3.0中可以通过下面的语法格式进行注册。
dispatcher.addEventListener(eventName, listener);
当然在Flex中还有另外一种格式,在mxml文件中对一个控件的事件直接制定一个处理函数,如
<mx:Button label="TestClick" click="clickHandler()"/>

3. 如何删除监听器(removing Listener)
在AS 3.0中以下面的格式进行删除
circle.removeEventListener(MouseEvent.CLICK, onClick);
应该很容易理解。
但这里确有一点很重要:尽量删除你已经不再使用的事件监听器,这个涉及到Flex 内存泄漏的问题,以后会有详细介绍。

  评论这张
 
阅读(1048)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017