flex – Itemrenderer Dispatch自定义事件
发布时间:2020-12-15 01:48:31 所属栏目:百科 来源:网络整理
导读:我正在尝试从自定义ItemRenderer调度自定义事件 这是我的自定义事件 package events{ import customClass.Product; import flash.events.Event; public class CopyProductEvent extends Event { public static const COPY_PRODUCT:String = "COPY_PRODUCT";
我正在尝试从自定义ItemRenderer调度自定义事件
这是我的自定义事件 package events { import customClass.Product; import flash.events.Event; public class CopyProductEvent extends Event { public static const COPY_PRODUCT:String = "COPY_PRODUCT"; public var picked:Prodotti; public function CopyProductEvent(type:String,picked:Product) { super(type); this.picked = picked; } } } 在itemRenderer中我有一个函数来做到这一点: private function sendEvent(o:Product):void { dispatchEvent(new CopyProductEvent(CopyProductEvent.COPY_PRODUCT,o)); } 在主应用程序中我有一个spark List,我试图将EventListener添加到应用程序和列表本身,但它们永远不会被调用… this.addEventListener(CopyProductEvent.COPY_PRODUCT,function(e:Product):void{ ... }); list.addEventListener(CopyProductEvent.COPY_PRODUCT,function(e:Product):void{ ... }); 为什么?!?我哪里做错了? 函数中的事件正确发送…我无法拦截它.. 解决方法
听起来你的事件并没有冒泡.
在Custom事件构造函数中添加bubbles参数(默认情况下为false): public function CopyProductEvent(type:String,picked:Product,bubbles:Boolean = true) { super(type,bubbles); this.picked = picked; } 关于AS3中事件冒泡的一个很好的解释可以在这里找到: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |