PDA

Просмотр полной версии : не ловится событие KEY_DOWN


xjack
20.05.2009, 13:31
Добрый день. Проблема очень проста - событие KeyboardEvent.KEY_DOWN не ловится в принципе. В коде пишу:

public function onComplete():void{
mainPanel.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownHandler);
}

public function KeyDownHandler(evt:KeyboardEvent):void{
var code:int = evt.keyCode;

//Some actions
}


При нажатии клавиш все глухо, смотрю в дебаггере - в функцию действительно не попадаем. Пробовал привязывать обработчик в Mxml коде - ровно тоже самое.

relevance4
20.05.2009, 13:49
а фокус на mainPanel?

xjack
20.05.2009, 14:02
Насчет фокуса не знаю, но пробовал и на Application вешать, необязательно на mainPanel

Скрипун
20.05.2009, 18:50
Попробуй по нажимать мышкой на mainPanel, чтоб она попала в фокус

Air_mAn
20.05.2009, 19:31
http://racer242.blogspot.com/2008/02/flex_21.html

xjack
22.05.2009, 14:48
В общем проблема решилась после того как повесил слушателя на stage а не на mainPanel . Но теперь как раз встала проблема с фокусом. В обработчике applicationComplete пишу :


stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpHandler);
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownHandler);

И все равно нажатия обрабатыаются только после того как кликну мышкой на приложение. В чем в этот раз загвоздка?

Bruiser
22.05.2009, 17:29
когда загружается флешка в браузере, вначале фокус на браузере.