首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flex传递事件处理程序并将其添加到itemrenderer内动态创建的对象中。

Flex传递事件处理程序并将其添加到itemrenderer内动态创建的对象中。
EN

Stack Overflow用户
提问于 2011-05-27 07:20:14
回答 1查看 605关注 0票数 0

我有一个Tree,它有一个itemRenderer。在itemRenderer上,由XML条件驱动,动态创建对象并将其作为子节点添加到节点中。这些新对象将触发一个事件处理程序(一些对象主要单击事件)。

如何将事件处理程序传递给树,然后传递给itemRendere中动态创建的新对象

类似于:

代码语言:javascript
运行
复制
<mx:Tree x="534" y="49" newObjectsOnClick="newObjectsOnClickHandler">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-27 07:42:33

对从项目呈现器分派的事件使用事件冒泡。

因此,按照以下步骤创建一个自定义事件:

代码语言:javascript
运行
复制
public class MyEvent extends Event
{
    public static const SOME_ACTION_PERFORMED:String = "someActionPerformed";
    public function MyEvent(type:String)
    {
        // The second parameter is for bubbling!
        super(type, true, false);
    }

    override public function clone():Event
    {
        return new MyEvent(type);
    }
}
}

然后在渲染器中:

代码语言:javascript
运行
复制
dispatchEvent(new MyEvent(MyEvent.SOME_ACTION_PERFORMED));

在包含Tree的类中

代码语言:javascript
运行
复制
private function onInit():void
{
    addEventListener(MyEvent.SOME_ACTION_PERFORMED, someActionHandler);
}

private function someActionHandler(event:MyEvent):void
{
    // Perform necessary actions here
    …
    // Then stop bubbling
    event.stopImmediatePropagation();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6149086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档