我在渲染器类中有一个图像,如果我单击图像,我需要将一个事件发送到flex中的主mxml页面。
在渲染器类中: -
public function clickOnMoreImage(event:Event):void {
var moreImageEvent:Event = new Event("clickOnMoreImage");
var parent:EventDispatcher = parentDocument.parentDocument as EventDispatcher;
if (parent != null) {
parent.dispatchEvent(moreImageEvent);
}
}
<mx:Image id="imgStatus" buttonMode="true" useHandCursor="true" click="clickOnMoreImage(event)" />
父类: -
this.addEventListener("clickOnMoreImage", showMoreImagePopUpData);
public function showMoreImagePopUpData(event:Event):void {
Alert.show("clicked on More Image");
}
这不起作用。我能为此知道任何相关工作吗?
答案 0 :(得分:3)
parent
或parentDocument
。您无法确定渲染器的嵌套级别与顶级应用程序的对比。渲染器本身的调度事件(bubbles
设置为true
)。它将“冒泡”(如果渲染器不是弹出窗口的子节点)直到舞台,所以你可以在渲染器的任何父节目中听它(例如 - &gt; DataGroup - &gt; List - &gt; Application - &gt ; SystemManager - &gt; Stage)。
var moreImageEvent:Event = new Event("clickOnMoreImage", true); //2nd parameter "true"
dispatchEvent(moreImageEvent);