1

我有一个keypress事件的问题。我有一个返回truefalse类似keypress这样的函数:(简化一点)

onkeydown (keycode == 88) xKey = true;
onkeyup    (keycode == 88) xKey = false;

if (xKey == true && bombs > 0)

    {
          this.bomb;
          bomb -= 1;
    }

现在,当您按下键时,它会将变量递减为长的、最小的 2 个计数,这当然不会添加到游戏中,我没有使用具有 unbind 属性的 jQuery,我也不想添加 jQuery ,什么是老派的方式?我找不到任何相关信息,但我想我不是第一个遇到这个问题的人。

4

2 回答 2

1

onKeyPress 与。onKeyUp 和 onKeyDown

onkeypress 两者都是,keydown 后跟 keyup。

因此,当您执行 onkeypress 时,无论如何它都会执行 onkeypress 代码和 onkeyup 代码。

也许您想通过使用 onkeydown 来跟踪,这样它就不会干扰 onkeyup 功能。

于 2012-09-11T19:12:40.347 回答
0

只要按键按下,按键就会重复触发。您可以使用 keydown 或 keyup,或通过间隔或超时增加节流阀,仅在最后一次按键事件时排队请求

于 2012-09-12T08:36:18.010 回答