У меня есть флэш-компонент TextInput в мувиклипе, добавленный на сцену через as3.
В тот момент, когда этот mc добавляется на сцену, он назначает событие клавиатуры (события нажатия клавиш и нажатия клавиши) основной стадии (стадии основного приложения) и устанавливает фокус основной стадии на основной стадии.
Пока все хорошо.
Проблема в том, что когда я набираю клавишу ВВОД, я ловлю KEY_DOWN, но когда я отпускаю клавишу ENTER, мое событие KEY_UP не отслеживается моей функцией, назначенной этому событию.
Кто-нибудь знает, почему?
Работает только при нажатии на флеш-плеер.
(код предоставлен в комментарии)
private function initAdded(e:Event){
_main.stage.addEventListener(KeyboardEvent.KEY_DOWN,checkKeysDown);
_main.stage.addEventListener(KeyboardEvent.KEY_UP,checkKeysUp);
MovieClip(_main).setStageFocus()
}
private function checkKeysDown(e:KeyboardEvent):void {
if (e.keyCode == 13) {
trace('enter down')
}
}
private function checkKeysUp(e:KeyboardEvent):void {
if(e.keyCode == 13){
trace('enter up')
}
}