【问题标题】:event.keyCode doesn't work for enter keyevent.keyCode 不适用于输入键
【发布时间】:2011-04-06 17:52:17
【问题描述】:

我读到输入键码应该是 13。但是在使用时

trace(event.keyCode);

其他键将显示,但回车键不显示。会不会是我的电脑之类的?使用 macbook pro 键盘。

stage.addEventListener(KeyboardEvent.KEY_DOWN, entered);

function entered(event:KeyboardEvent):void {
    trace(event.keyCode);
    if (event.keyCode == Keyboard.ENTER){
    //or if (event.keyCode == 13){
        trace("enter button");
    }
}

即我无法让它跟踪“输入按钮” 还注意到 Ctrl 没有可追溯的代码。 alt 制表符或退格键

【问题讨论】:

  • 尝试禁用页面中的js

标签: flash actionscript-3


【解决方案1】:

其实我相信这里没有人真正尝试过^^。

我的猜测:你是通过 run movie (Cmd+Return) 命令运行的。如果我的猜测是正确的,请在 Flash 应用程序栏中(当您的应用程序运行时)进入 Commands->Disable Keyboard shortcuts。

^^

发生了什么:Flash 播放器(或 fpdebug)有一些键盘快捷键,如果按下这些快捷键,它们将充当 Flash 的键盘快捷键,并且无法访问您的电影。 Enter 是“播放电影”的快捷方式。

【讨论】:

    【解决方案2】:

    您是在 Flash 中编译它吗?
    如果是这样,这可能就是问题所在......

    Flash Debug Player 拦截了一些按键操作。
    要摆脱它,请在播放器的控制菜单中选中“禁用键盘快捷键”。

    我的 Flash 是葡萄牙语的,但你应该很容易找到它。

    【讨论】:

      【解决方案3】:

      当您按下回车键时,第一条轨迹是否显示“13”?还是按 ENTER 不会触发任何跟踪?

      我在我的一个项目中使用了几乎相同的代码,唯一的区别是我监听的是 KEY_UP 而不是 KEY_DOWN。这有什么不同吗?

      还有另一种可能性:也许其他一些对象也从舞台侦听 KEY_DOWN 事件,并阻止这些事件传播到您的事件侦听器。

      【讨论】:

      • 不,即使是第一次跟踪也没有任何内容,KEY_UP 也是如此。
      • 那么另一种可能性呢:你有没有其他类有键盘事件监听器?
      【解决方案4】:

      这几乎可以肯定是焦点问题,因为另一个应用程序接收的是回车键而不是 Flash。您是在浏览器中运行它还是在独立播放器中运行它?

      【讨论】:

        猜你喜欢
        • 2014-02-05
        • 2023-04-08
        • 2011-12-14
        • 2011-05-22
        • 2013-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-27
        相关资源
        最近更新 更多