常用事件方法及技巧(八) -- EventDispatcher类
2010-08-21 20:56
253 查看
EventDispatcher类是用来管理侦听器函数的,这个大家都知道。但EventDispatcher类常用的五个方法,大家是否都会用呢?
1. addEventListener 和 removeEventListener
这两个是最常用的了。我们对于不再需要的侦听,要及时的remove掉,这样可以释放内存,优化运行速度。尤其是在大规模的工程中,及时的从内存中清除不必要的元件,这个是非常重要的,可千万不要忽视。
2. hasEventListener 和 willTrigger
发觉网上很多的说明文件,都是直接照搬帮助文件,真想不通这样的文章有什么用。题外话,有感而发而已,下面进入正题。
按照惯例,我还是举个例子来说明,舞台布置如下图(很熟悉吧,哈哈,我都是这样测试的)
![](http://windtoto.blog.51cto.com/attachment/201008/21/1986737_1282395383guNO.jpg)
添入代码如下:
function p1(event:MouseEvent):void
{
trace("t1:"+event.type);
}
t1.addEventListener(MouseEvent.MOUSE_DOWN, p1);
trace(t1.t2.hasEventListener(MouseEvent.MOUSE_DOWN));
trace(t1.t2.willTrigger(MouseEvent.MOUSE_DOWN));
运行后,返回:
false
true
分析结果如下:
hasEventListener检测目标对象是否注册特定侦听器,因此返回false。
willTrigger不仅检测目标对象,还检测目标对象的父对象,由于t1注册了侦听器,因此返回true。
顺便说句废话:这两个方法都是检测当前状态,所以如果放到注册侦听器的语句之前,返回的都是false。
3. dispatchEvent
这个方法提供了一个自定义侦听事件的接口。帮助文档上只有简单的说明,没有提供相关实例。
不过这个方法属于较为高端的用法,毕竟AS3.0自带了那么多方法和事件,大多数情况,都足够用了。
这篇文章,我先不具体介绍这个方法的使用实例了。相关文章,我会单独再写一篇博文的。
1. addEventListener 和 removeEventListener
这两个是最常用的了。我们对于不再需要的侦听,要及时的remove掉,这样可以释放内存,优化运行速度。尤其是在大规模的工程中,及时的从内存中清除不必要的元件,这个是非常重要的,可千万不要忽视。
2. hasEventListener 和 willTrigger
发觉网上很多的说明文件,都是直接照搬帮助文件,真想不通这样的文章有什么用。题外话,有感而发而已,下面进入正题。
按照惯例,我还是举个例子来说明,舞台布置如下图(很熟悉吧,哈哈,我都是这样测试的)
![](http://windtoto.blog.51cto.com/attachment/201008/21/1986737_1282395383guNO.jpg)
添入代码如下:
function p1(event:MouseEvent):void
{
trace("t1:"+event.type);
}
t1.addEventListener(MouseEvent.MOUSE_DOWN, p1);
trace(t1.t2.hasEventListener(MouseEvent.MOUSE_DOWN));
trace(t1.t2.willTrigger(MouseEvent.MOUSE_DOWN));
运行后,返回:
false
true
分析结果如下:
hasEventListener检测目标对象是否注册特定侦听器,因此返回false。
willTrigger不仅检测目标对象,还检测目标对象的父对象,由于t1注册了侦听器,因此返回true。
顺便说句废话:这两个方法都是检测当前状态,所以如果放到注册侦听器的语句之前,返回的都是false。
3. dispatchEvent
这个方法提供了一个自定义侦听事件的接口。帮助文档上只有简单的说明,没有提供相关实例。
不过这个方法属于较为高端的用法,毕竟AS3.0自带了那么多方法和事件,大多数情况,都足够用了。
这篇文章,我先不具体介绍这个方法的使用实例了。相关文章,我会单独再写一篇博文的。
相关文章推荐
- 常用事件方法及技巧(三) -- KeyboardEvent(键盘事件)
- javascript技巧及常用事件方法集合(全)
- 常用事件方法及技巧(五) -- Timer(时间事件) 推荐
- 常用事件方法及技巧(九) -- 其他事件(末篇)
- 常用事件方法及技巧(七) -- Event类的常用常量
- javascript技巧及常用事件方法集合(全)
- 常用事件方法及技巧(二) -- MouseEvent(鼠标事件)
- 常用事件方法及技巧(四) -- TextEvent(文本事件)(改)
- 常用事件方法及技巧(六) -- Event(事件)
- javascript技巧及常用事件方法集合(全)
- 常用事件方法及技巧(一) -- AS3的冒泡原理 推荐
- jquery技巧总结-jQuery对象,集合,方法扩展,事件处理,特效,解决冲突
- 浅析js绑定事件的常用方法
- Windows窗体应用程序常用的几个类的属性、方法以及事件
- TAdvStringGrid控件的一些常用的属性事件和方法
- C#编程技巧之常用文件名、路径处理方法
- asp常用数据库连接方法和技巧
- Jquery常用技巧和方法收集
- asp常用数据库连接方法和技巧
- 11条jquery常用技巧和方法整理列表