Flex - 事件分发器类



简介

  • EventDispatcher 类是所有分发事件的类的基类。

  • EventDispatcher 类实现了 IEventDispatcher 接口。

  • EventDispatcher 类允许显示列表上的任何对象成为事件目标,并因此可以使用 IEventDispatcher 接口的方法。

为了理解EventDispatcher,让我们首先看看什么是事件和事件目标。

什么是事件?

事件是在执行特定操作时发出的通知。例如,当单击按钮时,就会发生单击事件。

什么是事件目标

事件目标充当事件如何通过显示列表层次结构流动的焦点。

当事件发生时,Flash Player 会从显示列表的根部将事件对象分派到事件流中。然后,事件对象通过显示列表,直到到达事件目标,此时它开始返回显示列表。

这次往返事件目标的旅程分为三个阶段 -

序号 阶段和描述
1

捕获

此阶段包含从根到事件目标节点之前的最后一个节点的旅程。

2

目标

此阶段仅包含事件目标节点。

3

冒泡

此阶段包含返回到显示列表根部的过程中遇到的任何后续节点。

通常,任何扩展 EventDispatcher 的类都获得了事件分发功能。

类声明

以下是flash.events.EventDispatcher类的声明 -

public class EventDispatcher
   extends java.lang.Object
      implements IEventDispatcher 

公共方法

序号 方法和描述
1

EventDispatcher(target:IEventDispatcher = null)

聚合 EventDispatcher 类的实例。

2

addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

将事件侦听器对象注册到 EventDispatcher 对象,以便侦听器接收事件通知。

3

dispatchEvent(event:Event):Boolean

将事件分派到事件流中。

4

hasEventListener(type:String):Boolean

检查 EventDispatcher 对象是否为特定类型的事件注册了任何侦听器。

5

removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

从 EventDispatcher 对象中移除侦听器。

6

willTrigger(type:String):Boolean

检查事件侦听器是否已注册到此 EventDispatcher 对象或其任何祖先以获取指定的事件类型。

事件

以下是flash.events.EventDispatcher类的事件 -

序号 事件和描述
1

activate

当 Flash Player 获得操作系统焦点并变为活动状态时分派。

2

deactivate

当 Flash Player 失去操作系统焦点并变为非活动状态时分派。

继承的方法

此类继承自以下类 -

  • Object
flex_basic_controls.htm
广告