代码之家  ›  专栏  ›  技术社区  ›  Badr

flex actionscript中的菜单项单击事件有问题吗?

  •  0
  • Badr  · 技术社区  · 15 年前

    我翻了好几遍代码,但都搞不清这里需要的问题帮助是代码;

     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甚至没有捕获项目单击事件。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Chunky Chunk    15 年前

    尝试改变 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:...
    
    推荐文章