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
廣告

© . All rights reserved.