flex學習 事件機制的工作流程

2021-05-23 10:56:32 字數 1554 閱讀 5069

8.2 事件機制的工作流程

8.2.1 關於事件流

目標物件:派發事件的物件

當事件發生後生成乙個攜帶資料的物件,然後檢查目標物件是否存在顯示層中,並遍歷從根容器一直到目標物件所在位置的所有物件,以樹形勢表示。自動檢測所經過的節點是否註冊了***。

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

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

target:事件的派發者

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

預設情況下,捕獲功能處於關閉狀態,一般沒有必要進行捕獲跟蹤。

事件只在bubbles 屬性為true 時才進行冒泡,可以冒泡的事件包括:change、click、doubleclick、keydown、keyup、mousedown、 mouseup。並且不能在乙個***中同時開啟捕獲和冒泡功能,要做到這一點,只能註冊兩個***,分別實現。

addeventlistener(

type:string,    事件的型別

listener:function,    監聽函式

usecapture:boolean = false,    是否開啟捕獲功能

priority:int = 0,    ***優先級別

useweakreference:boolean = false    是否使用弱引用

)如果usecapture 為true,開啟了捕獲功能,則該元件的冒泡階段被取消。

只有視覺化的物件有3個階段,而像xml等非視覺化物件只有目標階段。

8.2.2 事件物件

eventdispatcher 是派發事件的**,經它派發的事件物件必須是event型別或者event的子類。

event物件中包含目標物件存放的資料,這些資料都成為event的屬性,以供偵聽器使用:

event的屬性:

建構函式:

event(

type:string,    事件型別

bubbles:boolean = false,   是否冒泡

cancelable:boolean = false  是否可以停止 )

event 的方法:

8.2.3 偵聽和響應事件--乙個偵聽鍵盤事件的例子

要偵聽乙個事件,首先要建立乙個函式來作為事件處理器,然後將這個函式註冊給相應的時間型別。

this.addeventlistener(keyboardevent.key_down,keyhandler);

keydown="keyhandler(event)"  這種情況無法移除事件。

註冊了事件***,使用完畢後,必須使用removeecentlistener 方法刪除監聽函式:

removeecentlistener(

type:string,   事件型別

listener:function,   監聽函式

usecapture:boolean = false    是否開啟捕獲功能,如果註冊時開啟,移除也要開啟。 )

Flex學習 事件機制的工作流程

8.2 事件機制的工作流程 8.2.1 關於事件流 目標物件 派發事件的物件 當事件發生後生成乙個攜帶資料的物件,然後檢查目標物件是否存在顯示層中,並遍歷從根容器一直到目標物件所在位置的所有物件,以樹形勢表示。自動檢測所經過的節點是否註冊了 事件流暗執行流程分為3步 每個事件物件都有以下屬性 tar...

mybatis的工作流程,快取機制

一級快取 mybatis的一級快取是sqlsession級別的快取,在運算元據庫時需要構造sqlsession物件,在物件中有乙個hashmap用於儲存快取資料,不同的sqlsession之間快取資料區域 hashmap 是互相不影響的。一級快取的作用域是sqlsession範圍的,當在同乙個sql...

機器學習的工作流程

打造乙個機器學習的應用程式,從工作流程方面熟悉整體的步驟,對後面深入學習有很大的幫助。整個過程有六個步驟 機器學習中的資料,可以來自不同的資料來源,可能是csv檔案,也可能是從伺服器拉取出來的日誌,或者是自己構建的web爬蟲。獲取了資料,下一步進行合理地檢查資料,最好的方法是發現不可能或幾乎不可能的...