2012-10-04 3 views
0

AIR 응용 프로그램과 함께 작업합니다. 이 응용 프로그램에는 여러 창이 표시됩니다.AIR 버튼 바로 가기 키

과 같은 창을 닫으려는 경우 Esc을 입력하십시오.

// On creation complete 
this.addEventListener(KeyboardEvent.KEY_DOWN, exit_keyDownHandler); 

// exit function 
protected function exit_keyDownHandler(event:KeyboardEvent):void{ 
if ((event.keyCode == Keyboard.ENTER) 
    ||(event.keyCode == Keyboard.NUMPAD_ENTER) 
    ||(event.keyCode == Keyboard.ESCAPE)){ 
     stage.nativeWindow.close(); 
    } 
} 

을하지만 텍스트 영역 창에있는 경우, 문제가 발생했습니다 :

나는 이런 식으로 그렇게하려고합니다. 왜냐하면 사용자가 을 누를 때 키 텍스트 영역 창이 닫힙니다. 어떻게 피할 수 있습니까?

답변

0

이스케이프 키 이외의 하나의 키로 닫기는 나에게 매우 좋은 생각처럼 보이지 않습니다. 특히 엔터 키가 아닌 것이 좋습니다.

그러나 그렇게하고 싶다면 현재 포커스가있는 개체를 확인하여 입력 키를 허용하는 입력 요소/구성 요소가 아닌지 확인할 수 있습니다.

FocusManager.getFocus( 참조 및 Stage.focus을 참조하십시오. 매우 제한적인 수표는 예를 들면 다음과 같습니다 :

if(focusManager.getFocus() is IFocusManagerComponent || 
    stage.focus is InteractiveObject || stage.focus is IFocusManagerComponent) 
{ 

}