代碼:數組
- package com.evrnt
- {
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.events.IEventDispatcher;
- public class InputEventDispatcher {
- private static var _inst:InputEventDispatcher;
- private var eventDispatcher:IEventDispatcher;
- public function InputEventDispatcher(target:IEventDispatcher = null){
- eventDispatcher = new EventDispatcher(target);
- }
- /** 獲取FastReportEventDispatcher類的惟一實例 */
- public static function getInstance():InputEventDispatcher{
- if(!_inst){
- _inst = new InputEventDispatcher();
- }
- return _inst;
- }
- /** 添加事件偵聽器函數 */
- public function addEventListener(type:String,listener:Function,useCapture:Boolean=false,pririty:int=0,useWeakReference:Boolean=true):void{
- eventDispatcher.addEventListener(type,listener,useCapture,pririty,useWeakReference);
- }
- /** 刪除事件監聽器函數 */
- public function removeEventListener(type:String,listener:Function,useCapture:Boolean=false,priority:int=0,useWeakReference:Boolean=true):void{
- eventDispatcher.removeEventListener(type,listener,useCapture);
- }
- /** 事件派發函數 */
- public function dispatchEvent(event:InputEvent):Boolean{
- return eventDispatcher.dispatchEvent(event);
- }
- /** 檢查是否已經存在事件偵聽器 */
- public function hasEventListener(type:String):Boolean{
- return eventDispatcher.hasEventListener(type);
- }
- /** 檢查eventDispatcher 對象或其餘任何數組是否註冊了指定類型的事件偵聽器 */
- public function willTrigger(type:String):Boolean{
- return eventDispatcher.willTrigger(type);
- }
- }
- }
自定義一個類用來發送和監聽事件,就能夠實如今任意地方監聽。ide