Прослушайте SandBoxMouseEvent . MOUSE_UP_SOMEWHERE в корне песочницы. Вы можете получить корень Песочницы, используя SystemManager . getSandboxRoot
Итак, добавьте прослушиватель событий, примерно так:
systemManager.getSandBoxRoot.addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, myMouseUpHandler);
А затем в вашем обработчике событий просто проверьте, является ли цель меню, а если нет, то скрыть меню:
protected function myMouseUpHandler(event:SandboxMouseEvent):void{
if(event.target != myMenuInstance){
myMenuInstance.visible = false;
// or whatever other action you wish to take to hide the menu.
}
}
Это общий подход, который Flex ComboBox использует для скрытия раскрывающегося меню по щелчку мыши.