Как стать автором
Обновить

Комментарии 10

> Так случилось, что я работаю над Flex-проектом…
Сочувствую, понимаю, морально я с Вами…
> button1.removeEventListener(MouseEvent.CLICK, onClick);
Капитан очевидность?
использовать внутри фунцкии переменную, содержащую эту функцию != К.О.
А в Actionscript функции не содержат ссылку на себя, через arguments.callee, как в Javascript?
Я пока не дошел до Флекса, но разве данный приём там требует отдельного User Guide? Назначить событие на кнопку, а по нажатию убрать событие? Как сложно жить стало… Кстати, вероятно внутри функции onClick можно использовать this, я не прав?
Когда прочитал заголовок, на секунду даже поверил, что есть другой мегаспособ.
нет, this внутри функции — global.
Дойдёте до флекса — будете и не такие юзер гайды искать ;)
Cхуяли global? (не удержался)

В AS3 this внутри функции всегда указывает на тот контекст, в котором она была описана. Например на объект, к которому она относится.
А, опять не доглядел. Замыкание. Тут this будет global, да.

Пожалуй в данном случае такое оправдано. Но только в данном, когда точно известно, что событие есть и останется одноразовым.

Кстати ещё можно изнутри функции получить указатель на неё же через arguments.callee
век живи — век учись
спасибо за подсказку
можно даже так попробывать

private function init():void{

button1.addEventListener(MouseEvent.CLICK, function(event:MouseEvent):void{
trace(«event handled»);
var eventSource:Object = event[«target»];
var eventName:String = event[«type»];
eventSource.removeEventListener(eventName, arguments.caller);
);

}
}

v
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории