繁体   English   中英

Flex:菜单不会自动隐藏吗?

[英]Flex : Menu doesn't hide automatically?

我正在以这种方式创建菜单:

myMenu = Menu.createMenu( null, myMenuXMLListCollection, false );

然后显示:

myMenu.popup( 10, 10 );

但是当我在菜单外的某个地方单击时,菜单不会自动消失。

  • 有什么方法可以使菜单在我单击菜单时自动消失?

收听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用于在单击鼠标时隐藏下拉菜单的常规方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM