【问题标题】:dispatch custom event for component doesnt have parent组件的调度自定义事件没有父级
【发布时间】:2013-05-15 19:06:40
【问题描述】:

我有一个添加元素 MyComponent comp1 的组 g1 和一个添加子 g1 的 UIComponent c1 和一个自定义事件 customEvent1 意味着:

c1.addChild(g1.addElement(comp1))

所以 comp1.parent 为空

这是一些代码

我的组件:

private function mouseUpFunction(e:MouseEvent):void {
    //e.stopPropagation();
    var event:MouseChangeEvent = new MouseChangeEvent(MouseChangeEvent.Mouse_Up_Objective);
    dispatchEvent(event);
}

private function mouseDownFunction(e:MouseEvent):void{
    //e.stopPropagation();
    var event:MouseChangeEvent = new MouseChangeEvent(MouseChangeEvent.Mouse_Down_Objective);
    dispatchEvent(event);
}

主应用:

stage.addEventListener(MouseChangeEvent.Mouse_Down_Objective, mouseDownHandler);
stage.addEventListener(MouseChangeEvent.Mouse_Up_Objective, mouseUpHandler);

问题是 comp1 调度事件但它永远不会捕获! :(

【问题讨论】:

    标签: apache-flex events actionscript event-handling


    【解决方案1】:

    “bubbles”参数需要在您的自定义事件类中设置为 true。

    【讨论】:

    • 这是真的: public function MouseChangeEvent(type:String) { super(type, true, false); }
    【解决方案2】:

    通过我的测试,在没有父组件的情况下,不可能在组件中冒泡自定义事件 所以无论如何你都应该设置父级

    【讨论】:

    • 这是我的问题的答案,应该关闭这就是我留下答案的原因
    猜你喜欢
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 2012-03-20
    • 2011-08-22
    • 1970-01-01
    相关资源
    最近更新 更多