keypress计数太多javascript

时间:2012-09-11 19:06:02

标签: javascript javascript-events

我遇到了一个按键事件的问题。我有一个函数在这样的按键上返回truefalse :(简化了一下)

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

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

    {
          this.bomb;
          bomb -= 1;
    }

现在,当您按下该键时,它会将变量减少为long,最少2个计数 我没有使用具有unbind属性的jQuery,我也不想添加jQuery,那是什么样的oldschool方式?我无法找到相关的任何相关信息,但我想我不是第一个遇到这个问题的人。

2 个答案:

答案 0 :(得分:1)

onKeyPress Vs. onKeyUp and onKeyDown

onkeypress是两个,keydown后跟keyup。

因此,当你执行onkeypress时,它将执行onkeypress代码和onkeyup代码,无论如何。

也许您希望通过使用onkeydown来保持跟踪,因此它不会干扰onkeyup功能。

答案 1 :(得分:0)

只要按键关闭,

就会重复触发按键。你可以使用keydown或keyup,或者通过间隔或超时增加一个限制来仅在最后一次按键事件中对请求进行排队