我有Tree
,其中有itemRenderer
。在itemRenderer
上,在XML条件的驱动下,对象是动态创建的,并作为子节点添加到节点中。
这些新对象应触发事件处理程序(主要是一些点击事件)。
itemRendere
内动态创建的新对象?类似的东西:
<mx:Tree x="534" y="49" newObjectsOnClick="newObjectsOnClickHandler">
答案 0 :(得分:1)
对从项呈示器调度的事件使用事件冒泡。
因此,请按以下方式创建自定义事件:
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();
}