Нахождение идентификатора цели, когда ее родитель генерирует событие во Flex - PullRequest
1 голос
/ 10 августа 2011

Здесь я пытаюсь получить идентификатор цели в showMe().Например, когда я нажимаю кнопку или панель изображений, сначала запускается функция showMe().Здесь я хочу получить идентификатор кнопки / изображения.

private function init():void
            {
                pnl.addEventListener(MouseEvent.MOUSE_DOWN,showMe);
            }

            private function showMe(eve:MouseEvent):void
            {
                Alert.show("Hello");
            }

    <s:Panel id="pnl" height="400" width="700" creationComplete="init()">
                <s:Button id="btn1" label="showParents"/>
                <mx:Image id="img1" source="markupIndicator.png"  buttonMode="true"/>

    </s:Panel>

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 10 августа 2011

Не очень понятно, зачем вам нужно ловить панель mouseDown и пытаться получить идентификаторы внутреннего контроля, но вы можете изменить свой код следующим образом:

private function init():void
            {
                pnl.addEventListener(MouseEvent.MOUSE_DOWN,showMe);
            }

            private function showMe(eve:MouseEvent):void
            {
                Alert.show("Hello " + eve.currentTarget.id);
            }

            private function showMyID(eve:MouseEvent):void
            {
                showMe(eve);
            }

    <s:Panel id="pnl" height="400" width="700" >
                <s:Button id="btn1" label="showParents" click="showMyID(event)"/>
                <mx:Image id="img1" source="markupIndicator.png" click="showMyID(event)" buttonMode="true"/>

    </s:Panel>
2 голосов
/ 10 августа 2011

Я думаю, что должно работать:

private function init():void
    {
        pn1background.addEventListener(MouseEvent.MOUSE_DOWN,showMe);
            btn1.addEventListener(MouseEvent.MOUSE_DOWN,showMe);
            img1.addEventListener(MouseEvent.MOUSE_DOWN,showMe);
    }

    private function showMe(eve:MouseEvent):void
    {
        trace(eve.currentTarget.id);
    }

    <s:Panel id="pnl" height="400" width="700" >
                <s:Button id="btn1" label="showParents"/>
                <mx:Image id="img1" source="markupIndicator.png"  buttonMode="true"/>
                <s:Panel id="pn1background" height="400" width="700" / >
    </s:Panel>
...