apache-flex - Itemrenderer 调度自定义事件

标签 apache-flex actionscript event-handling dispatchevent

我正在尝试从自定义 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;
        }
    }
}

项目渲染器 我有一个功能可以做到这一点:
        private function sendEvent(o:Product):void
        {
            dispatchEvent(new CopyProductEvent(CopyProductEvent.COPY_PRODUCT,o));
        }

在主应用程序中,我有一个 Spark 列表 我尝试将 EventListener 添加到应用程序和列表本身,但它们从未被调用...
    this.addEventListener(CopyProductEvent.COPY_PRODUCT,
        function(e:Product):void{
            ...
    });

    list.addEventListener(CopyProductEvent.COPY_PRODUCT,
        function(e:Product):void{
            ...
    });

为什么?!?我在哪里做错了?

函数中的事件已正确分派(dispatch)...我无法拦截它..

最佳答案

听起来你的事件没有冒泡。

添加 bubbles自定义事件构造函数中的参数(默认为 false ):

public function CopyProductEvent(type:String, picked:Product, bubbles:Boolean = true)
        {
            super(type,bubbles);
            this.picked = picked;
        }

关于 AS3 中的事件冒泡的一个很好的解释可以在这里找到:
Event Bubbling in AS3

关于apache-flex - Itemrenderer 调度自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292227/

相关文章:

apache-flex - 程序员应该如何开始使用 Flash/Flex/ActionScript?

apache-flex - 是否有组件不再显示在屏幕上时触发的事件?

actionscript-3 - as3 中的自定义事件类型标识符是否需要唯一?

javascript - 在 JavaScript 函数开始或结束时阻止默认事件操作的优点和缺点

actionscript-3 - 为什么不总是使用公共(public)函数和变量?

javascript - IE 7 中的 onclick 事件问题

apache-flex - 在 AIR HTML 控件中悬停链接时显示 url

apache-flex - Actionscript 通过引用传递

java - 在媒体服务器上录制时使用图像作为视频流

actionscript-3 - 为什么Actionscript 不支持重载?