在Flex中按下"ESC"时,防止全屏退出

Mys*_*rth 3 apache-flex events fullscreen projector

我们有一个Flex应用程序,它在启动时全屏显示(这可能是投影机.exe).当用户按下ESC时,应用程序退出全屏模式.有什么方法可以防止这种情况吗?这是因为我们想要使用ESC键来实现其他功能.

通常所有键盘输入都在全屏模式下禁用,但在我们将其作为投影仪运行时则不会.

我已经尝试过FullScreenEvent.FULL_SCREEN没有运气的事件(仅当用户在Adobe Flash Player中选择"全屏"或点击"CTRL + F"时才会触发此事件.

小智 6

在Adobe AIR中,您可以通过调用做到这一点preventDefault()KeyboardEvent:

protected function windowedapplication_preinitializeHandler(event:FlexEvent):void
{
    nativeWindow.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
    nativeWindow.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
}

protected function onKeyDown(event:KeyboardEvent):void
{
    if (event.keyCode == 27)
    {
        event.preventDefault();
    }
}
Run Code Online (Sandbox Code Playgroud)