FLEX程序设计--事件和事件机制--Event类

1.事件概述:

        事件是系统与用户之间直接的交互方式.当用户向系统发出指令时,就会产生一个事件,用户就可以与系统对话.

1.1.事件的监听

在ActionScript3.0中,注册事件的侦听函数是通过addEventListener()方法实现的.

addEventListener函数格式:

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

其中有5个参数:每个参数的含义如下:

1.type:String--事件的类型

2.listener:Function--处理事件的侦听器函数

3.useCapture:Boolean(default=false)--确定侦听器是运行于捕获阶段,目标阶段还是冒泡阶段.

4.priority:int (default=0)--事件侦听器的优先级

5.useWeakReference:Boolean(default=false)--确定对侦听器的引用是强引用还是弱引用,强引用表示该对象必不可少,垃圾回收期不会收回,弱引用表示该对象可有可无,拥有更短的生命周期.

button.addEventListener(MouseEvent.CLICK,buttonClick); // 添加按钮的点击事件
// 事件处理函数
public  function buttonClick(e:MouseEvent)
{
     
// 响应事件执行的动作
}

1.2.Event类:所有Event对象的基类.

公共属性

 属性定义方
   bubbles : Boolean
[只读 (read-only)] 指示事件是否为冒泡事件。
Event
   cancelable : Boolean
[只读 (read-only)] 指示是否可以阻止与事件相关联的行为。
Event
 Inherited constructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
   currentTarget : Object
[只读 (read-only)] 当前正在使用某个事件侦听器处理 Event 对象的对象。
Event
   eventPhase : uint
[只读 (read-only)] 事件流中的当前阶段。
Event
 Inherited prototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
   target : Object
[只读 (read-only)] 事件目标。
Event
   type : String
[只读 (read-only)] 事件的类型。
Event

公共方法
 方法定义方
  
Event(type: String, bubbles: Boolean = false, cancelable: Boolean = false)
创建一个作为参数传递给事件侦听器的 Event 对象。
Event
  
复制 Event 子类的实例。
Event
  
formatToString(className: String, ... arguments): String
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。
Event
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
检查是否已对事件调用 preventDefault() 方法。
Event
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
如果可以取消事件的默认行为,则取消该行为。
Event
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
setPropertyIsEnumerable(name: String, isEnum: Boolean = true): void
设置循环操作动态属性的可用性。
Object
  
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。
Event
  
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。
Event
  
返回一个字符串,其中包含 Event 对象的所有属性。
Event
 Inherited
返回指定对象的原始值。
Object

公共常量
 常量定义方
   ACTIVATE : String = "activate"
[静态] ACTIVATE 常量定义 activate 事件对象的 type 属性的值。
Event
   ADDED : String = "added"
[静态] Event.ADDED 常量定义 added 事件对象的 type 属性值。
Event
   ADDED_TO_STAGE : String = "addedToStage"
[静态] Event.ADDED_TO_STAGE 常量定义 addedToStage 事件对象的 type 属性值。
Event
   CANCEL : String = "cancel"
[静态] Event.CANCEL 常量定义 cancel 事件对象的 type 属性的值。
Event
   CHANGE : String = "change"
[静态] Event.CHANGE 常量定义 change 事件对象的 type 属性值。
Event
   CLEAR : String = "clear"
[静态] Event.CLEAR 常量定义 clear 事件对象的 type 属性的值。
Event
   CLOSE : String = "close"
[静态] Event.CLOSE 常量定义 close 事件对象的 type 属性的值。
Event
   AIR-only CLOSING : String = "closing"
[静态] Event.CLOSING 常量定义 closing 事件对象的 type 属性值。
Event
   COMPLETE : String = "complete"
[静态] Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。
Event
   CONNECT : String = "connect"
[静态] Event.CONNECT 常量定义 connect 事件对象的 type 属性值。
Event
   COPY : String = "copy"
[静态] 定义 copy 事件对象的 type 属性值。
Event
   CUT : String = "cut"
[静态] 定义 cut 事件对象的 type 属性值。
Event
   DEACTIVATE : String = "deactivate"
[静态] Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。
Event
   DISPLAYING : String = "displaying"
[静态] Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。
Event
   ENTER_FRAME : String = "enterFrame"
[静态] Event.ENTER_FRAME 常量定义 enterFrame 事件对象的 type 属性值。
Event
   EXIT_FRAME : String = "exitFrame"
[静态] Event.EXIT_FRAME 常量定义 exitFrame 事件对象的 type 属性的值。
Event
   AIR-only EXITING : String = "exiting"
[静态] Event.EXITING 常量定义 exiting 事件对象的 type 属性值。
Event
   FRAME_CONSTRUCTED : String = "frameConstructed"
[静态] Event.FRAME_CONSTRUCTED 常量定义 frameConstructed 事件对象的 type 属性的值。
Event
   FULLSCREEN : String = "fullScreen"
[静态] Event.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。
Event
   AIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[静态] Event.HTML_BOUNDS_CHANGE 常量定义 htmlBoundsChange 事件对象的 type 属性值。
Event
   AIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[静态] Event.HTML_DOM_INITIALIZE 常量定义 htmlDOMInitialize 事件对象的 type 属性值。
Event
   AIR-only HTML_RENDER : String = "htmlRender"
[静态] Event.HTML_RENDER 常量定义 htmlRender 事件对象的 type 属性值。
Event
   ID3 : String = "id3"
[静态] Event.ID3 常量定义 id3 事件对象的 type 属性值。
Event
   INIT : String = "init"
[静态] Event.INIT 常量定义 init 事件对象的 type 属性值。
Event
   AIR-only LOCATION_CHANGE : String = "locationChange"
[静态] Event.LOCATION_CHANGE 常量定义 locationChange 事件对象的 type 属性值。
Event
   MOUSE_LEAVE : String = "mouseLeave"
[静态] Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。
Event
   AIR-only NETWORK_CHANGE : String = "networkChange"
[静态] Event.NETWORK_CHANGE 常量定义 networkChange 事件对象的 type 属性值。
Event
   OPEN : String = "open"
[静态] Event.OPEN 常量用于定义 open 事件对象的 type 属性值。
Event
   PASTE : String = "paste"
[静态] Event.PASTE 常量定义 paste 事件对象的 type 属性的值。
Event
   REMOVED : String = "removed"
[静态] Event.REMOVED 常量定义 removed 事件对象的 type 属性值。
Event
   REMOVED_FROM_STAGE : String = "removedFromStage"
[静态] Event.REMOVED_FROM_STAGE 常量定义 removedFromStage 事件对象的 type 属性值。
Event
   RENDER : String = "render"
[静态] Event.RENDER 常量定义 render 事件对象的 type 属性的值。
Event
   RESIZE : String = "resize"
[静态] Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。
Event
   SCROLL : String = "scroll"
[静态] Event.SCROLL 常量定义 scroll 事件对象的 type 属性值。
Event
   SELECT : String = "select"
[静态] Event.SELECT 常量定义 select 事件对象的 type 属性的值。
Event
   SELECT_ALL : String = "selectAll"
[静态] Event.SELECT_ALL 常量定义 selectAll 事件对象的 type 属性的值。
Event
   SOUND_COMPLETE : String = "soundComplete"
[静态] Event.SOUND_COMPLETE 常量定义 soundComplete 事件对象的 type 属性值。
Event
   TAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[静态] Event.TAB_CHILDREN_CHANGE 常量定义 tabChildrenChange 事件对象的 type 属性值。
Event
   TAB_ENABLED_CHANGE : String = "tabEnabledChange"
[静态] Event.TAB_ENABLED_CHANGE 常量定义 tabEnabledChange 事件对象的 type 属性值。
Event
   TAB_INDEX_CHANGE : String = "tabIndexChange"
[静态] Event.TAB_INDEX_CHANGE 常量定义 tabIndexChange 事件对象的 type 属性值。
Event
   UNLOAD : String = "unload"
[静态] Event.UNLOAD 常量定义 unload 事件对象的 type 属性值。
Event
   AIR-only USER_IDLE : String = "userIdle"
[静态] Event.USER_IDLE 常量定义 userIdle 事件对象的 type 属性值。
Event
   AIR-only USER_PRESENT : String = "userPresent"
[静态] Event.USER_PRESENT 常量定义 userPresent 事件对象的 type 属性值。
Event

属性详细信息
bubbles属性
bubbles:Boolean  [只读 (read-only)]

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

指示事件是否为冒泡事件。如果事件可以冒泡,则此值为 true;否则为 false

事件冒泡是为 SWF 内容中的显示对象定义的,它使用 ActionScript 3.0 显示对象模型。bubbles 属性仅在 ActionScript 3.0 代码中有效。

发生事件时,该事件在事件流的三个阶段中移动:捕获阶段,该阶段从显示列表层次结构的顶部流动到目标节点之前的节点;目标阶段,该阶段只包括目标节点;冒泡阶段,该阶段从目标节点的后续节点沿显示列表层次结构向上往回流动。

某些事件(例如 activateunload 事件)没有冒泡阶段。对于没有冒泡阶段的事件,bubbles 属性的值为 false

 



实现
    public function get bubbles():Boolean

另请参见

cancelable属性 
cancelable:Boolean  [只读 (read-only)]

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

指示是否可以阻止与事件相关联的行为。如果可以取消该行为,则此值为 true;否则为 false



实现
    public function get cancelable():Boolean

另请参见

currentTarget属性 
currentTarget:Object  [只读 (read-only)]

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

当前正在使用某个事件侦听器处理 Event 对象的对象。例如,如果用户单击“确定”按钮,则当前目标可以是包含该按钮的节点,也可以是它的已为该事件注册了事件侦听器的始祖之一。



实现
    public function get currentTarget():Object

另请参见

eventPhase属性 
eventPhase:uint  [只读 (read-only)]

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

事件流中的当前阶段。此属性可以包含以下数值:

  • 捕获阶段 (EventPhase.CAPTURING_PHASE)。
  • 目标阶段 (EventPhase.AT_TARGET)。
  • 冒泡阶段 (EventPhase.BUBBLING_PHASE)。

该事件流是为 SWF 内容中的显示对象定义的,它使用 ActionScript 3.0 显示对象模型。eventPhase 属性仅在 ActionScript 3.0 代码中有效。

 



实现
    public function get eventPhase():uint

另请参见

target属性 
target:Object  [只读 (read-only)]

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

事件目标。此属性包含目标节点。例如,如果用户单击“确定”按钮,则目标节点就是包含该按钮的显示列表节点。



实现
    public function get target():Object

另请参见

type属性 
type:String  [只读 (read-only)]

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

事件的类型。类型区分大小写。



实现
    public function get type():String

另请参见

构造函数详细信息
Event()构造函数
public function Event(type:String, bubbles:Boolean = false, cancelable:Boolean = false)

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

创建一个作为参数传递给事件侦听器的 Event 对象。

参数
type:String — 事件的类型,可以作为 Event.type 访问。
 
bubbles:Boolean (default = false) — 确定 Event 对象是否参与事件流的冒泡阶段。默认值为 false
 
cancelable:Boolean (default = false) — 确定是否可以取消 Event 对象。默认值为 false
方法详细信息
clone()方法
public function clone():Event

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

复制 Event 子类的实例。

返回一个新的 Event 对象,它是 Event 对象的原始实例的副本。通常您不需要调用 clone();当您重新调度事件,即调用 dispatchEvent(event)(从正在处理 event 的处理函数)时,EventDispatcher 类会自动调用它。

新的 Event 对象包括原始对象的所有属性。

当您创建自己的自定义 Event 类时,必须覆盖继承的 Event.clone() 方法,以复制自定义类的属性。如果您未设置在事件子类中添加的所有属性,则当侦听器处理重新调度的事件时,这些属性将不会有正确的值。

在本示例中,PingEventEvent 的子类,因此它可以实现其自己的 clone() 版本。

class PingEvent extends Event {
   var URL:String;
   
  public override function clone():Event {
        return new PingEvent(type, bubbles, cancelable, URL);
     }
  }

 

 

返回
Event — 一个新的 Event 对象,它与原始对象相同。

另请参见

formatToString()方法 
public function formatToString(className:String, ... arguments):String

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。建议覆盖 toString() 方法,但不是必须覆盖。

class PingEvent extends Event {
   var URL:String;
  
  public override function toString():String { 
   return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL"); 
     }
  }

此方法用于创建将在 SWF 内容中使用的 ActionScript 3.0 类。

 

参数

className:String — 自定义 Event 类的名称。在上面的示例中,className 参数为 PingEvent
 
... arguments — Event 类的属性和在自定义 Event 类中添加的属性。在上面的示例中,...arguments 参数包括 typebubblescancelableeventPhaseURL

 

返回
String — 自定义 Event 类的名称和 ...arguments 参数的字符串值。
isDefaultPrevented()方法 
public function isDefaultPrevented():Boolean

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

检查是否已对事件调用 preventDefault() 方法。如果已调用 preventDefault() 方法,则返回 true;否则返回 false

 

返回
Boolean — 如果已调用 preventDefault(),将返回 true;否则将返回 false

另请参见

preventDefault()方法 
public function preventDefault():void

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

如果可以取消事件的默认行为,则取消该行为。

许多事件都有默认执行的关联行为。例如,如果用户在文本字段中键入一个字符,则默认行为就是在文本字段中显示该字符。由于可以取消 TextEvent.TEXT_INPUT 事件的默认行为,因此您可以使用 preventDefault() 方法来防止显示该字符。 例如,在用户单击窗口的关闭框时,默认行为是窗口关闭。由于可以取消 closing 事件的默认行为,因此您可以使用 preventDefault() 方法来防止关闭该窗口。

不可取消行为的一个示例是与 Event.REMOVED 事件关联的默认行为,只要 Flash Player 从显示列表中删除显示对象,就会生成该事件。由于无法取消默认行为(删除元素),因此 preventDefault() 方法对此默认行为无效。

您可以使用 Event.cancelable 属性来检查是否可以防止与特定事件关联的默认行为。如果 Event.cancelable 的值为 true,则可以使用 preventDefault() 来取消事件;否则,preventDefault() 无效。

 

另请参见

stopImmediatePropagation()方法 
public function stopImmediatePropagation():void

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。此方法会立即生效,并且会影响当前节点中的事件侦听器。相比之下,在当前节点中的所有事件侦听器都完成处理之前,stopPropagation() 方法不会生效。

注意:此方法不会取消与此事件相关联的行为;有关此功能的信息,请参阅 preventDefault()

该事件流是为 SWF 内容中的显示对象定义的,它使用 ActionScript 3.0 显示对象模型。

 

另请参见

stopPropagation()方法 
public function stopPropagation():void

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。此方法不会影响当前节点 (currentTarget) 中的任何事件侦听器。相比之下,stopImmediatePropagation() 方法可以防止对当前节点中和后续节点中的事件侦听器进行处理。对此方法的其它调用没有任何效果。可以在事件流的任何阶段中调用此方法。

注意:此方法不会取消与此事件相关联的行为;有关此功能的信息,请参阅 preventDefault()

该事件流是为 SWF 内容中的显示对象定义的,它使用 ActionScript 3.0 显示对象模型。

 

另请参见

toString()方法 
public function toString():String

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

返回一个字符串,其中包含 Event 对象的所有属性。字符串的格式如下:

[Event type=value bubbles=value cancelable=value ]

 

 

返回
String — 一个字符串,其中包含 Event 对象的所有属性。

另请参见

常量详细信息
ACTIVATE常量
public static const ACTIVATE:String = "activate"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

ACTIVATE 常量定义 activate 事件对象的 type 属性的值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 activate 事件注册的侦听器的任何 DisplayObject 实例。

 

另请参见

ADDED常量 
public static const ADDED:String = "added"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.ADDED 常量定义 added 事件对象的 type 属性值。

added 事件适用于 ActionScript 3.0 显示列表并且与 JavaScript 代码无关。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 要添加到显示列表中的 DisplayObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

ADDED_TO_STAGE常量 
public static const ADDED_TO_STAGE:String = "addedToStage"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9.0.28.0

 

 

Event.ADDED_TO_STAGE 常量定义 addedToStage 事件对象的 type 属性值。

addedToStage 事件适用于 ActionScript 3.0 显示列表并且与 JavaScript 代码无关。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target DisplayObject 实例将添加到舞台的显示列表中,可直接添加它,也可以添加包含 DisplayObject 实例的子树。如果 DisplayObject 实例将被直接添加,会在此事件之前发生 added 事件。

 

另请参见

CANCEL常量 
public static const CANCEL:String = "cancel"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.CANCEL 常量定义 cancel 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 对已取消其操作的对象的引用。

 

另请参见

CHANGE常量 
public static const CHANGE:String = "change"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.CHANGE 常量定义 change 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已修改其值的对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

CLEAR常量 
public static const CLEAR:String = "clear"

 

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

 

 

Event.CLEAR 常量定义 clear 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 clear 事件注册的侦听器的任何 InteractiveObject 实例。

 

另请参见

CLOSE常量 
public static const CLOSE:String = "close"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.CLOSE 常量定义 close 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已关闭其连接的对象。

 

另请参见

AIR-only CLOSING常量 
public static const CLOSING:String = "closing"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

 

 

Event.CLOSING 常量定义 closing 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable true;取消此事件对象将停止关闭操作。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 要关闭其连接的对象。

 

另请参见

COMPLETE常量 
public static const COMPLETE:String = "complete"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已完成加载的网络对象。

 

另请参见

CONNECT常量 
public static const CONNECT:String = "connect"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.CONNECT 常量定义 connect 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已建立网络连接的 Socket 或 XMLSocket 对象。

 

另请参见

COPY常量 
public static const COPY:String = "copy"

 

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

 

 

定义 copy 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 copy 事件注册的侦听器的任何 InteractiveObject 实例。

 

另请参见

CUT常量 
public static const CUT:String = "cut"

 

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

 

 

定义 cut 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 cut 事件注册的侦听器的任何 InteractiveObject 实例。

 

另请参见

DEACTIVATE常量 
public static const DEACTIVATE:String = "deactivate"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 deactivate 事件注册的侦听器的任何 DisplayObject 实例。

 

另请参见

DISPLAYING常量 
public static const DISPLAYING:String = "displaying"

 

语言版本: ActionScript 3.0
运行时版本: Flash Player 9, AIR 1.0

 

 

Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。

注意:无论目标是否出现在显示列表中,此事件都不会通过“捕获阶段”,而是被直接调度给此目标。

此事件具有以下属性:

属性
bubbles false
cancelable false
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 将要显示的 对象。

 

另请参见

ENTER_FRAME常量 
public static const ENTER_FRAME:String = "enterFrame"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.ENTER_FRAME 常量定义 enterFrame 事件对象的 type 属性值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 enterFrame 事件注册的侦听器的任何 DisplayObject 实例。

 

另请参见

EXIT_FRAME常量 
public static const EXIT_FRAME:String = "exitFrame"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.EXIT_FRAME 常量定义 exitFrame 事件对象的 type 属性的值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 enterFrame 事件注册的侦听器的任何 DisplayObject 实例。

 

另请参见

AIR-only EXITING常量 
public static const EXITING:String = "exiting"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

 

 

Event.EXITING 常量定义 exiting 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable true;取消此事件对象将停止退出操作。
currentTarget NativeApplication 对象。
target NativeApplication 对象。

 

另请参见

FRAME_CONSTRUCTED常量 
public static const FRAME_CONSTRUCTED:String = "frameConstructed"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.FRAME_CONSTRUCTED 常量定义 frameConstructed 事件对象的 type 属性的值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 frameConstructed 事件注册的侦听器的任何 DisplayObject 实例。

 

另请参见

FULLSCREEN常量 
public static const FULLSCREEN:String = "fullScreen"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target Stage 对象。

 

另请参见

AIR-only HTML_BOUNDS_CHANGE常量 
public static const HTML_BOUNDS_CHANGE:String = "htmlBoundsChange"

 

运行时版本: AIR 1.0

 

 

Event.HTML_BOUNDS_CHANGE 常量定义 htmlBoundsChange 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget HTMLLoader 对象。
target HTMLLoader 对象。

 

另请参见

AIR-only HTML_DOM_INITIALIZE常量 
public static const HTML_DOM_INITIALIZE:String = "htmlDOMInitialize"

 

运行时版本: AIR 1.0

 

 

Event.HTML_DOM_INITIALIZE 常量定义 htmlDOMInitialize 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget HTMLLoader 对象。
target HTMLLoader 对象。

 

另请参见

AIR-only HTML_RENDER常量 
public static const HTML_RENDER:String = "htmlRender"

 

运行时版本: AIR 1.0

 

 

Event.HTML_RENDER 常量定义 htmlRender 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget HTMLLoader 对象。
target HTMLLoader 对象。

 

另请参见

ID3常量 
public static const ID3:String = "id3"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.ID3 常量定义 id3 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 加载 MP3 的 Sound 对象,ID3 数据现在可用于此对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

INIT常量 
public static const INIT:String = "init"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.INIT 常量定义 init 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 与所加载的 SWF 文件相关联的 LoaderInfo 对象。

 

另请参见

AIR-only LOCATION_CHANGE常量 
public static const LOCATION_CHANGE:String = "locationChange"

 

运行时版本: AIR 1.0

 

 

Event.LOCATION_CHANGE 常量定义 locationChange 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget HTMLLoader 对象。
target HTMLLoader 对象。

 

另请参见

MOUSE_LEAVE常量 
public static const MOUSE_LEAVE:String = "mouseLeave"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target Stage 对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

AIR-only NETWORK_CHANGE常量 
public static const NETWORK_CHANGE:String = "networkChange"

 

运行时版本: AIR 1.0

 

 

Event.NETWORK_CHANGE 常量定义 networkChange 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target NativeApplication 对象。

 

另请参见

OPEN常量 
public static const OPEN:String = "open"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.OPEN 常量用于定义 open 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已打开连接的网络对象。

 

另请参见

PASTE常量 
public static const PASTE:String = "paste"

 

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

 

 

Event.PASTE 常量定义 paste 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 paste 事件注册的侦听器的任何 InteractiveObject 实例。

 

另请参见

REMOVED常量 
public static const REMOVED:String = "removed"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.REMOVED 常量定义 removed 事件对象的 type 属性值。

removed 事件适用于 ActionScript 3.0 显示列表并且与 JavaScript 代码无关。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 要从显示列表中删除的 DisplayObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

REMOVED_FROM_STAGE常量 
public static const REMOVED_FROM_STAGE:String = "removedFromStage"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9.0.28.0

 

 

Event.REMOVED_FROM_STAGE 常量定义 removedFromStage 事件对象的 type 属性值。

removedFromStage 事件适用于 ActionScript 3.0 显示列表并且与 JavaScript 代码无关。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target DisplayObject 实例将从舞台的显示列表中删除,可直接删除它,也可以删除包含 DisplayObject 实例的子树。如果 DisplayObject 实例将被直接删除,会在此事件之前发生 removed 事件。

 

另请参见

RENDER常量 
public static const RENDER:String = "render"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.RENDER 常量定义 render 事件对象的 type 属性的值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;不能取消默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 render 事件注册的侦听器的任何 DisplayObject 实例。

 

另请参见

RESIZE常量 
public static const RESIZE:String = "resize"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target Stage 对象。

 

另请参见

SCROLL常量 
public static const SCROLL:String = "scroll"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.SCROLL 常量定义 scroll 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已滚动的 TextField 对象。target 属性不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

SELECT常量 
public static const SELECT:String = "select"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.SELECT 常量定义 select 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 对象,已在其中选定了一个项目。

 

另请参见

SELECT_ALL常量 
public static const SELECT_ALL:String = "selectAll"

 

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

 

 

Event.SELECT_ALL 常量定义 selectAll 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 selectAll 事件注册的侦听器的任何 InteractiveObject 实例。

 

另请参见

SOUND_COMPLETE常量 
public static const SOUND_COMPLETE:String = "soundComplete"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.SOUND_COMPLETE 常量定义 soundComplete 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已结束声音播放的 Sound 对象。

 

另请参见

TAB_CHILDREN_CHANGE常量 
public static const TAB_CHILDREN_CHANGE:String = "tabChildrenChange"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.TAB_CHILDREN_CHANGE 常量定义 tabChildrenChange 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 其 tabChildren 标志已更改的对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

TAB_ENABLED_CHANGE常量 
public static const TAB_ENABLED_CHANGE:String = "tabEnabledChange"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.TAB_ENABLED_CHANGE 常量定义 tabEnabledChange 事件对象的 type 属性值。

tabEnabledChange 事件适用于 ActionScript 3.0 显示列表并且与 JavaScript 代码无关。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 其 tabEnabled 标志已更改的 InteractiveObject。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

TAB_INDEX_CHANGE常量 
public static const TAB_INDEX_CHANGE:String = "tabIndexChange"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.TAB_INDEX_CHANGE 常量定义 tabIndexChange 事件对象的 type 属性值。

tabIndexChange 事件适用于 ActionScript 3.0 显示列表并且与 JavaScript 代码无关。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 其 tabIndex 已更改的对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

 

另请参见

UNLOAD常量 
public static const UNLOAD:String = "unload"

 

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

 

 

Event.UNLOAD 常量定义 unload 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target LoaderInfo 对象与将被卸载或替换的 SWF 文件相关联。

 

另请参见

AIR-only USER_IDLE常量 
public static const USER_IDLE:String = "userIdle"

 

运行时版本: AIR 1.0

 

 

Event.USER_IDLE 常量定义 userIdle 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
target NativeApplication 对象。

 

另请参见

AIR-only USER_PRESENT常量 
public static const USER_PRESENT:String = "userPresent"

 

运行时版本: AIR 1.0

 

 

Event.USER_PRESENT 常量定义 userPresent 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
target NativeApplication 对象。

 


以下示例使用 EventExample 类和 Square 自定义类来说明如何管理事件冒泡。
ContractedBlock.gif ExpandedBlockStart.gif Code
package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;

    
public class EventExample extends Sprite {
        
        
public function EventExample() {
            var square_0:Square 
= new Square(3000x336633);
            addChild(square_0);
            
            var square_1:Square 
= new Square(2500x669966);
            square_0.addChild(square_1);

            var square_2:Square 
= new Square(2000x66CC66);
            square_1.addChild(square_2);

            var square_3:Square 
= new Square(1500xAA0000);
            square_3.shouldBubble 
= false;
            square_2.addChild(square_3);

            var square_4:Square 
= new Square(1000x66FF66);
            square_3.addChild(square_4);

            var square_5:Square 
= new Square(500xCC0000);
            square_5.shouldBubble 
= false;
            square_4.addChild(square_5);

            
this.addEventListener(MouseEvent.CLICK, clickHandler);
        }
        
        
private function clickHandler(e:Event):void {
            trace(
">> stage: " + e.type + " event from " + e.target.name + " called on " + this.name);
            trace(
">> --------------------------------------------");
        }
    }
}

import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;

class Square extends Sprite {
    
private var sideLen:int;
    
private var color:Number;
    
public var shouldBubble:Boolean = true;

    
public function Square(sideLen:int, color:Number) {
        
this.sideLen = sideLen;
        
this.color = color;
        init();
        draw();
    }
        
    
private function init():void {
        buttonMode 
= true;
        
this.addEventListener(MouseEvent.CLICK, firstClickHandler);
        
this.addEventListener(MouseEvent.CLICK, secondClickHandler);
        
this.addEventListener(MouseEvent.CLICK, thirdClickHandler);
    }
        
    
private function draw():void {
        
this.graphics.beginFill(color);
        
this.graphics.drawRect(00, sideLen, sideLen);
    }
        
    
private function firstClickHandler(e:Event):void {
        trace(
">> 1e: " + e.type + " event from " + e.target.name + " called on " + this.name);
        
if(!shouldBubble) {
            e.stopPropagation();
        }
    }

    
private function secondClickHandler(e:Event):void {
        trace(
">> 2e: " + e.type + " event from " + e.target.name + " called on " + this.name);
        
if(!shouldBubble) {
            e.stopImmediatePropagation();
            trace(
">> --------------------------------------------");
        }
    }

    
private function thirdClickHandler(e:Event):void {
        trace(
">> 3e: " + e.type + " event from " + e.target.name + " called on " + this.name);
    }
}
EventExample2.
as


以下示例创建 ADDED 和 ADDED_TO_STAGE 事件以及 REMOVED 和 REMOVED_FROM_STAGE 事件之间区别的演示。单击 Sprite 将从舞台将其删除,同时还删除其中嵌套的所有内容。例如,单击最大的 Sprite 将导致一个 REMOVED 事件和三个 REMOVED_FROM_STAGE 事件触发。 
package {
    import flash.display.Sprite;
    import flash.events.
*;

    
public class EventExample2 extends Sprite {
        
public function EventExample2():void {
            var parentSprite:Sprite 
= createSprite("parentSprite",200);
            var childSprite:Sprite 
= createSprite("childSprite",100);
            var childOfChildSprite:Sprite 
= createSprite("childOfChildSprite",50);
            
            trace(
":: Adding to Stage ::");
            
this.addChild(parentSprite);
            trace(
":: Adding to Stage ::");
            parentSprite.addChild(childSprite);
            trace(
":: Adding to Stage ::");
            childSprite.addChild(childOfChildSprite);
        }
        
private function createSprite(name:String,size:uint):Sprite {
            trace(
":: Creating Sprite ::");
            var newSprite:Sprite 
= new Sprite();
            newSprite.name 
= name;
            newSprite.graphics.beginFill(
0xFFFFFF * Math.random(),1);
            newSprite.graphics.drawRect(
0,0,size,size);
            newSprite.graphics.endFill();
            newSprite.addEventListener(Event.ADDED, spriteAdded);
            newSprite.addEventListener(Event.ADDED_TO_STAGE, spriteAddedToStage);
            newSprite.addEventListener(Event.REMOVED, spriteRemoved);
            newSprite.addEventListener(Event.REMOVED_FROM_STAGE, spriteRemovedFromStage);
            newSprite.addEventListener(MouseEvent.CLICK, remove);
            
return newSprite;
        }
        
private function remove(event:Event) {
            
if(event.target == event.currentTarget) {
                trace(
":: Removing Clicked Sprite ::");
                var target:Sprite 
= Sprite(event.target);
                target.parent.removeChild(target);
            }
        }
        
private function spriteRemovedFromStage(event:Event):void {
            trace(
"REMOVED_FROM_STAGE: " + event.target.name + " : " + event.currentTarget.name);
        }
        
private function spriteRemoved(event:Event):void {
            trace(
"REMOVED: " + event.target.name + " from " + event.currentTarget.name);
        }
        
private function spriteAddedToStage(event:Event):void {
            trace(
"ADDED_TO_STAGE: " + event.target.name + " : " + event.currentTarget.name);
        }
        
private function spriteAdded(event:Event):void {
            trace(
"ADDED: " + event.target.name + " within " + event.currentTarget.name);
        }
    }
}

版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

posted @ 2009-04-25 02:08 温景良(Jason) Views( 3343) Comments( 0) Edit 收藏
 

公告

 
 
本文转自 我的程序人生博客园博客,原文链接: http://www.cnblogs.com/wenjl520/archive/2009/04/25/1443260.html,如需转载请自行联系原作者
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值