我有一个Tree
,它有一个itemRenderer
。在itemRenderer
上,由XML条件驱动,动态创建对象并将其作为子节点添加到节点中。这些新对象将触发一个事件处理程序(一些对象主要单击事件)。
如何将事件处理程序传递给树,然后传递给itemRendere
中动态创建的新对象
类似于:
<mx:Tree x="534" y="49" newObjectsOnClick="newObjectsOnClickHandler">
发布于 2011-05-27 07:42:33
对从项目呈现器分派的事件使用事件冒泡。
因此,按照以下步骤创建一个自定义事件:
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);
}
}
}
然后在渲染器中:
dispatchEvent(new MyEvent(MyEvent.SOME_ACTION_PERFORMED));
在包含Tree
的类中
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();
}
https://stackoverflow.com/questions/6149086
复制相似问题