addEventListener не работает - PullRequest
       3

addEventListener не работает

1 голос
/ 10 декабря 2011
protected function init(event:FlexEvent):void
{
    btnBack.addEventListener(MouseEvent.CLICK, viewOverview);
}

protected function viewOverview(event:MouseEvent):void
{
    dispatchEvent( new ChangeSelectedIndex(1,ChangeSelectedIndex.index_passed));
}

Я пытаюсь добавить EventListener, как это, но ничего не происходит. Я проверил, и функция init вызывается из оператора creationcomplete. Ниже вы можете увидеть кнопку в содержащей HGroup.

<s:HGroup x="116" y="0" width="200" height="25">
    <s:Label id="lblOverviewTitle" fontFamily="Verdana" fontSize="24" fontWeight="bold"
             text="Artist Details"/>
    <s:Button id="btnBack" label="Back" />
</s:HGroup>

1 Ответ

2 голосов
/ 10 декабря 2011

Зачем вам нужно добавить список событий в ActionScript?Вы можете сделать это в MXML следующим образом:

<s:HGroup x="116" y="0" width="200" height="25">
    <s:Label id="lblOverviewTitle" fontFamily="Verdana" fontSize="24" fontWeight="bold"
             text="Artist Details"/>
    <s:Button id="btnBack" label="Back" click="viewOverview(event)"/>
</s:HGroup>

Как указано в комментариях к основному вопросу, кажется, что вы пытаетесь добавить прослушиватель событий в btnBack перед созданием компонента.Вы должны добавить прослушиватель событий в событие initialize , поскольку инициализация запускается сразу после запуска createChildren ().

Если вы создаете компонент Spark, а btnBack является частью скинавы должны добавить прослушиватель событий в методе partAdded () .

...