flash – 可以为自定义事件和对象层次结构动作脚本3冒泡吗?
发布时间:2020-12-15 07:21:58 所属栏目:百科 来源:网络整理
导读:我在互联网上搜索过,没有找到任何关于如何操作的线索,任何想法?我不想只使用flex(我的对象不是可视组件). 解决方法 这是一个非常基本且未完成的自定义事件类,支持冒泡. 您还会注意到我为对象添加了一个附加参数,因此我可以传递数据. 另请注意,如果重新调度e
我在互联网上搜索过,没有找到任何关于如何操作的线索,任何想法?我不想只使用flex(我的对象不是可视组件).
解决方法
这是一个非常基本且未完成的自定义事件类,支持冒泡.
您还会注意到我为对象添加了一个附加参数,因此我可以传递数据. 另请注意,如果重新调度event dispatched事件,则自定义事件类需要克隆方法. 例如,如果来自自定义事件的回调函数然后重新调度该事件,则clone方法将为新调度程序创建事件的副本. 我还想补充一点,我从来没有必要使用这个类的冒泡方面,所以它是,未经测试. // ActionScript file package events{ import flash.events.Event; public class DynamicEvent extends Event{ public var data:Object; private var _type:String; private var _bubbles:Boolean; private var _cancelable:Boolean; public function DynamicEvent( oData:Object,sType:String,bBubbles:Boolean = false,bCancelable:Boolean = false):void{ super(sType,bBubbles,bCancelable); this.data = oData; this._type = sType; this._bubbles = bBubbles; this._cancelable = bCancelable; } public override function clone():Event{ return new DynamicEvent(this.data,this._type,this._bubbles,this._cancelable ); } public override function get type():String{ return this._type; } public function set type( sType:String ):void{ this._type = sType; } public override function get bubbles():Boolean{ return this._bubbles; } public function set bubbles( bBubbles:Boolean ):void{ this._bubbles = bBubbles; } public override function get cancelable():Boolean{ return this._cancelable; } public function set cancelable( bCancelable:Boolean ):void{ this._cancelable = bCancelable; } } } [编辑] //usage to dispatch var e:DynamicEvent = new DynamicEvent( {anyAttributeYouWantToCallIt:"someDataHere"},"YourEventNameHere" ); this.dispatchEvent(e); // usage to listen ObjectDispatchingCustomEvent.addEventListener( 'YourEventNameHere,callBackFunc' ) //call back function public function callBackFunc( e:DynamicEvent ):void{ trace( e.data.anyAttributeYouWantToCallIt ) // will show someDataHere } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |