Flex自定义事件:一个地方派发(抛出),任何地方监听(捕获)
发布时间:2020-12-15 01:07:05 所属栏目:百科 来源:网络整理
导读:public static const dispatcher…”,就是声明一个公有的静态对象,这样才使的可以在任意地方访问到并且对他进行抛出和侦听事件。? 自定义CustomEvent类,继承Event,并且给他增加一个dispatcher:EventDispatcher属性。? 使用这个类,就可以抛出事件并附带
public static const dispatcher…”,就是声明一个公有的静态对象,这样才使的可以在任意地方访问到并且对他进行抛出和侦听事件。? 自定义CustomEvent类,继承Event,并且给他增加一个dispatcher:EventDispatcher属性。? 使用这个类,就可以抛出事件并附带数据。? 因为使用了 static 设置为静态属性,所以其他任意地方只要注册有这个事件侦听,就能捕获到。? CustomEvent:? package? {? import flash.events.Event;? import flash.events.EventDispatcher;? public class CustomEvent extends Event? {? public static const EVENT_NAME:String=”event_name”;? public static const dispatcher:EventDispatcher=new EventDispatcher();? public var data:Object;? public function CustomEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false,data:Object=null)? {? super(type,bubbles,cancelable);? this.data=data;? }? override public function clone():Event{? return new CustomEvent(type,cancelable,data);? }? }? }? 抛出事件时:? var custom:CustomEvent=new CustomEvent(CustomEvent.CLICK);? //custom.data is Object;//发送事件同时,可以传值(可传可不传)? CustomEvent.dispatcher.dispatchEvent(custom);? 侦听事件时:? CustomEvent.dispatcher.addEventListener(CustomEvent.CLICK,clickHandler);?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |