xwg*_*gou 2 apache-flex events mouseevent
我有一个扩展Flex的UIComponent的组件,我想添加一个FlexMouseEvent.MOUSE_DOWN_OUTSIDE监听器,但它不起作用.这意味着我无法捕获事件.但是,当我使用PopUpManager添加此组件,然后添加FlexMouseEvent.MOUSE_DOWN_OUTSIDE侦听器时,它工作正常.
FlexMouseEvent.MOUSE_DOWN_OUTSIDE仅适用于弹出组件吗?
谢谢你的帮助
该事件仅通过弹出窗口触发.如果要检查鼠标事件,则需要将常规鼠标向下添加到父容器,并检查目标是否不是子容器.
另一种方法是通过在舞台上和组件上捕获事件...由于冒泡向上,因此首先捕获组件单击.
public var bCompClicked=false;
stage.addEventListener(MouseEvent.CLICK,onStageClick);
myComponent.addEventListener(MouseEvent.CLICK,onComponentClick);
private function onComponentClick(event:MouseEvent):void{
bCompClicked = true;
}
private function onStageClick(event:MouseEvent):void{
if(!bCompClicked){ //we didn't click the component, so we clicked outside it..
clickedOutSide();
}else{
bCompClicked=false; //we did click the component, set to false for the next time.
}
}
private function clickedOutSide():void{
//do what you want when someone clicks outside...
}
Run Code Online (Sandbox Code Playgroud)
免责声明我没有测试过这个或者很难想到它......所以它可能不起作用.