Flex事件機制

2021-08-30 17:19:35 字數 706 閱讀 1619

事件流按執行流程分為3步:

1、捕獲階段:捕獲事件 capturing,從根節點開始順序而下,檢測每個節點是否註冊了***。同時,flex 將事件物件的currenttarget 值改為當前正在檢測的物件。如果註冊了***,則呼叫監聽函式。

2、目標階段:檢測目標的*** targeting:觸發在目標物件本身註冊的監聽程式

3、冒泡階段:事件冒泡 bubbling:從目標節點到根節點,檢測每個節點是否註冊了***,如果有,則呼叫監聽函式。

每個事件物件都有以下屬性:

target:事件的派發者

currenttarget:當前正在檢測的的物件,幫助跟蹤事件傳播的過程。

當事件發生時,flex通過事件的分發器eventdispatcher進行事件分發,分發的順序是:從上往下到達目標,然後從下往上,從目標開始返回。

在事件的流經過程中,不是目標的物件如果註冊了事件,也有了相應的事件響應函式,使得不是目標的物件也響應了事件的處理

addeventlistener在只有如上兩個引數的情況下是關閉捕獲階段的,也就是說事件流是從目標階段開始的,然後是冒泡階段

自定義事件

1.建立自定義事件名稱的event

dispatchevent(new event(「myevnet」,true,false)); 

2.建立自定義事件類

public class myevent extends event{

Flex事件機制

flex事件機制是觀察者模式,即首先要註冊事件,事件分發後通過事件響應函式進行處理。例如在as3中 button.addeventlistener click onclick 向button註冊乙個click事件 internal function onclick evt mouseevent vo...

Flex事件機制 2

event類方法 1 實用程式方法 clone event formattostring classname string,parameters string tostring string 2 事件流方法 stopimmediatepropagation void stoppropagation ...

Flex中的事件機制

件是乙個非常有用的功能,通常用於資訊傳遞互動大大提高程式編寫的靈活性。在高階語言中都會整合這方面特性 flex也不例外幾乎所有控制項中都整合了大量的事件,如果button的click事件等。但實際應用中控制項自有的事件是不能滿真實需要的,特別在自己編寫自定義控制項時,自定義控制項內部資訊的改變如何及...