Apache flex flex actionscript中的菜单项单击事件有问题吗?
我把代码看了好几遍,但都没能找出问题所在。这里需要的帮助是代码Apache flex flex actionscript中的菜单项单击事件有问题吗?,apache-flex,actionscript-3,events,menuitem,Apache Flex,Actionscript 3,Events,Menuitem,我把代码看了好几遍,但都没能找出问题所在。这里需要的帮助是代码 menuItems = [{label:"60 Minutes View" , type:"radio", toggled:"true"},{label:"30 Minutes View" , type:"radio"},{label:"20 Minutes View" , type:"radio"},{label:"15 Minutes View" , type:"radio"},{label:"10 Minutes
menuItems = [{label:"60 Minutes View" , type:"radio", toggled:"true"},{label:"30 Minutes View" , type:"radio"},{label:"20 Minutes View" , type:"radio"},{label:"15 Minutes View" , type:"radio"},{label:"10 Minutes View" , type:"radio"},{label:"6 Minutes View" , type:"radio"},{label:"5 Minutes View" , type:"radio"}];
menu = Menu.createMenu( parentInstance, menuItems, false );
menu.addEventListener(MenuEvent.ITEM_CLICK,menuClick);
protected function menuClick(evt:MenuEvent):void
{
Alert.show("here is " + evt.item + " 23");
switch (evt.label)
{
case "60 Minutes View":
this.ChangeLayout(60);
break;
case "30 Minutes View":
this.ChangeLayout(30);
break;
case "20 Minutes View":
this.ChangeLayout(30);
break;
case "15 Minutes View":
this.ChangeLayout(15);
break;
case "10 Minutes View":
this.ChangeLayout(10);
break;
case "6 Minutes View":
this.ChangeLayout(6);
break;
case "5 Minutes View":
this.ChangeLayout(5);
break;
default:
break;
}//end switch
}//end function
但是is甚至没有捕获物品点击事件 尝试将
evt.item
/evt.label
更改为evt.currentTarget.item
/evt.currentTarget.label
或evt.target.item
/evt.target.label
另外,建议您,如果您为字符串对象创建常量,那么您的代码将更易于调试,因为拼写错误不会导致任何问题,编译器除了允许您只编辑一次字符串外,还会发现键入错误的常量 因此,不是:
menuItems = [{label:"60 Minutes View" , type:"radio", toggled:"true"}];
switch (evt.currentTarget.label)
{
case "60 Minutes View":...
您可以创建一个常量:
private static const 60_MIN_VIEW:String = "60 Minutes View";
menuItems = [{label:60_MIN_VIEW , type:"radio", toggled:"true"}];
switch (evt.currentTarget.label)
{
case 60_MIN_VIEW:...