Как сделать элементы меню с детьми в строке меню по выбору в Flex 3? - PullRequest
0 голосов
/ 07 февраля 2011

Если у меня есть строка меню с источником данных XML, например:

<mx:XMLList id="menuList">
    <menuitem label="Parent1">
        <menuitem label="Child1">
            <menuitem label="SubChild1" />
            <menuitem label="SubChild2" />
        </menuitem>
        <menuitem label="Child2" />
    </menuitem>
    <menuitem label="Parent2" />
</mx:XMLList>

Как я могу сделать так, чтобы нажатие на Child1 вызывало событие щелчка, несмотря на то, что у него есть дети?

1 Ответ

0 голосов
/ 07 февраля 2011

Вы можете добавить прослушиватель MouseEvent.CLICK в меню и удалить прослушиватель MenuEvent.ITEM_CLICK. Пример кода:

var myMenu:Menu=Menu.createMenu(null, myMenuData, false);
            myMenu.labelField="@label"
            // Add an event listener for the itemClick event.
            //myMenu.addEventListener(MenuEvent.ITEM_CLICK, itemClickInfo);
            myMenu.addEventListener(MouseEvent.CLICK, itemMouseClickInfo);
            // Show the menu.
            myMenu.show(225, 10);

itemMouseClickInfo

// The event listener for the mouse click event.
        private function itemMouseClickInfo(event:MouseEvent):void
        {
            ta1.text="event.type: " + event.type;
            var menuItems:Menu=Menu(event.currentTarget);
            menuItems.hide();
        /* ta1.text+="\nevent.index: " + event.index;
           ta1.text+="\nItem label: " + event.item.@label
           ta1.text+="\nItem selected: " + event.item.@toggled;
         ta1.text+= "\nItem type: " + event.item.@type; */
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...