我正在尝试在我的类中创建一个加载数据的dispatchEvent,但没有成功。
在我的'loader_complete'方法(类)中:
dispatchEvent(new Event("bam",true));
在我的主要时间表上:
this.addEventListener("bam", getResults);
function getResults(e:Event){
trace('hi');
}
我已经将类扩展为'extends EventDispatcher {'。
我错过了什么?
感谢,
答案 0 :(得分:0)
最有可能导致这种情况:
扩展EventDispatcher
的自定义类不在显示列表中 - 例如。它的实例不是主时间轴的子/后代。
当一个事件冒泡时,它会向显示列表中显示父项,直到它到达主阶段。如果调度事件的对象不是具有父项的显示对象,则不会冒泡。
您可以将事件侦听器添加到加载数据的自定义类的实例:
myCustomClassThatLoadsData.addEventListener("bam",getResults);
或传递对显示对象(主类,主舞台等)的引用以分派事件。
stage.addEventListener("bam",getResults);
myCustomClassThatLoadsData = new CustomClassThatLoadsData(stage);
//in the custom class
stageReference.dispatchEvent(new Event("bam"));