addEventListener里面的參數和具體的使用方法


它的五個參數分別是addEventlistener(事件類型,監聽函數,是否打開捕獲階段,監聽器優先級別,是否打開弱監聽) 。 addEventListener () 方法 public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 語言版本 : ActionScript 3.0 RuntimeVersions: AIR 1.0, Flash Player 9 使用 EventDispatcher 對象注冊事件偵聽器對象,以使偵聽器能夠接收事件通知。可以為特定類型的事件、階段和優先級在顯示列表的所有節點上注冊事件偵聽器。成功注冊一個 事件偵聽器后,無法通過額外調用 addEventListener() 來更改其優先級。要更改偵聽器的優先級,必須首先調用 removeListener()。然后,可以使用新的優先級再次注冊該偵聽器。請記住,注冊該偵聽器后,如果繼續調用具有不同 type 或 useCapture 值的 addEventListener(),則會創建單獨的偵聽器注冊。例如,如果首先注冊 useCapture 設置為 true 的偵聽器,則該偵聽器只在捕獲階段進行偵聽。如果使用同一個偵聽器對象再次調用 addEventListener(),並將 useCapture 設置為 false,那么便會擁有兩個單獨的偵聽器:一個在捕獲階段進行偵聽,另一個在目標和冒泡階段進行偵聽。不能只為 目標階段或冒泡階段注冊事件偵聽器。這些階段在注冊期間是成對出現的,因為冒泡階段只適用於目標節點的始祖。如果不再需要某個事件偵聽器,可調用 removeEventListener() 刪除它,否則會產生內存問題。由於垃圾回收器不會刪除仍包含引用的對象,因此不會從內存中自動刪除使用已注冊事件偵聽器的對象。復制 EventDispatcher 實例時並不復制其中附加的事件偵聽器。(如果新近創建的節點需要一個事件偵聽器,必須在創建該節點后附加該偵聽器。) 但是,如果移動 EventDispatcher 實例,則其中附加的事件偵聽器也會隨之移動。如果在正在處理事件的節點上注冊事件偵聽器,則不 會在當前階段觸發事件偵聽器,但會在事件流的稍后階段觸發,如冒泡階段。如果從正在處理事件的節點中刪除事件偵聽器,則該事件偵聽器仍由當前操作 觸發。刪除事件偵聽器后,決不會再次調用該事件偵聽器(除非再次注冊以備將來處理)。參數 type:String — 事件的類型。 listener:Function — 處理事件的偵聽器函數。此函數必須接受 Event 對象作為其唯一的參數,並且不能返回任何結果,如下面的示例所示: function(evt:Event):void 函數可以有任何名 稱。 useCapture:Boolean (default = false) — 確定偵聽器是運行於捕獲階段、目標階段還是冒泡階段。如果將 useCapture 設置為 true,則偵聽器只在捕獲階段處理事件,而不在目標或冒泡階段處理事件。如果 useCapture 為 false,則偵聽器只在目標或冒泡階段處理事件。要在所有三個階段都偵聽事件,請調用 addEventListener 兩次:一次將 useCapture 設置為 true,一次將 useCapture 設置為 false. priority:int (default = 0) — 事件偵聽器的優先級。優先級由一個帶符號的 32 位整數指定。數字越大,優先級越高。優先級為 n 的所有偵聽器會在優先級為 n -1 的偵聽器之前得到處理。如果兩個或更多個偵聽器共享相同的優先級,則按照它們的添加順序進行處理。默認優先級為 0。 useWeakReference:Boolean (default = false) — 確定對偵聽器的引用是強引用,還是弱引用。強引用(默認值)可防止您的偵聽器被當作垃圾回收。弱引用則沒有此作用。類級別成員函數不屬於垃圾回 收的對象,因此可以對類級別成員函數將 useWeakReference 設置為 true 而不會使它們受垃圾回收的影響。如果對作為嵌套內部函數的偵聽器將 useWeakReference 設置為 true,則該函數將作為垃圾回收並且不再是永久函數。如果創建對該內部函數的引用(將該函數保存到另一個變量中),則該函數將不作為垃圾回收並仍將保持 永久。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM