Хм ... Я не очень понимаю, в чем проблема.
Вот простое приложение:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
keyDown="application1_keyDownHandler(event)"
creationComplete="application1_creationCompleteHandler(event)"
>
<fx:Script>
<![CDATA[
import flash.utils.getQualifiedClassName;
import mx.core.FlexGlobals;
import mx.events.FlexEvent;
protected function application1_keyDownHandler(event:KeyboardEvent):void
{
trace("Key Down Handler: key = " + event.keyCode);
}
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
FlexGlobals.topLevelApplication.addEventListener(KeyboardEvent.KEY_DOWN, tlaKeyDownHandler);
FlexGlobals.topLevelApplication.systemManager.addEventListener(KeyboardEvent.KEY_DOWN, smKeyDownHandler);
}
protected function tlaKeyDownHandler(event:KeyboardEvent):void
{
trace("Top Level Application Key Down Handler: key = " + event.keyCode);
}
protected function smKeyDownHandler(event:KeyboardEvent):void
{
trace("System Manager Key Down Handler: key = " + event.keyCode);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button x="130" y="135" label="Button"/>
<s:ComboBox x="130" y="54"/>
<s:TextInput x="130" y="99"/>
</s:Application>
Вот вывод:
Key Down Handler: ключ = 65
Обработчик ключа приложения верхнего уровня: ключ = 65
Обработчик ключа администратора системы: ключ = 65
Обработчик ключа вниз: ключ = 83
Обработчик ключа приложения верхнего уровня: ключ = 83
Обработчик ключа менеджера системы: ключ = 83
Обработчик ключа вниз: ключ = 68
Верхний уровеньОбработчик ключа приложения: ключ = 68
Обработчик ключа приложения вниз: ключ = 68
Как вы можете видеть, я создал три разных компонента в приложении и использовал три разных метода, чтобы пойматьсобытие.И во всех случаях (когда один из компонентов имеет фокус) событие запускается и перехватывается.
Возможно, вы не сказали нам что-то важное.