当前位置: 首页 > 知识库问答 >
问题:

JQuery仅在首次按下时读取事件键?

刘凡
2023-03-14

我使用JQuery来处理我游戏中的所有按键,我的事件处理得很好,但我想限制玩家,因为如果他们按下一个键并按住它,它不会继续发射。

这是我当前的代码:

    this.EventListener = function(){
    $(document).ready(function(){
        $(document).keydown(function(key){
            switch(parseInt(key.which, 10)){
                case AKey:
                case LeftArrow:
                    player.move(Left);
                    break;
                case DKey:
                case RightArrow:
                    player.move(Right);
                    break;
                case UpArrow:
                case Spacebar:
                    player.shoot();
                    break;
            }
        });
    });

有人知道如何实现这样的东西吗?我找不到这样的东西。。。

共有1个答案

宋俊艾
2023-03-14

将方法从keydown更改为keyup)试试那个。

 类似资料:
  • 以下是我交易的相关部分: 第一次currentData是空的(事实上它不是空的--因为我用Kotlin编码--但没有改变我问的问题)。如果我在不关闭应用程序的情况下重新运行事务,现在CurrentData中有一个子项。

  • 所以我昨天从Gulp4.0开始,所以当我开始gulp时,他只在第一次运行时将我的sass编译成css。为什么这是我的 [22:36:57]正在启动“监视任务”...

  • 我正在尝试捕获提交按钮click事件,并将页面滚动到顶部,如果它还没有在那里。 由于某些原因,该事件不会第一次触发,即如果滚动大于0,则不会发生滑到页面顶部的情况。只有第二次才会激活。 有什么想法或建议吗?我是不是漏掉了什么?谢谢.

  • 问题内容: 更新: 使用sed,如何在每个文件的关键字的第一个匹配项上插入(不替换)新行。 目前,我有以下内容,但此代码会插入包含匹配关键字的每一行,并且我希望它仅针对文件中找到的第一个匹配项插入“新插入行”: 例如: Myfile.txt: 变成: 问题答案: 如果要使用sed *: *仅适用于GNU sed

  • 我一直试图为pyplay开发一个“文本框”类,作为一个小小的个人项目,我遇到了一个真正难倒我的问题。我试图扩展在这里找到的pyplay文本输入类,把它包装在一个支持多行和滚动功能的文本框类中。 当我试图在文本行之间上下移动闪光灯时,问题就来了。基本上,一旦按下“向上”箭头,就会将闪光灯一直移动到顶部,然后它就不再响应向下移动。 下面是我如何给类事件的代码: 下面是文本框类的代码(来自上述代码):

  • 我正在使用jquery submit()函数提交表单,但它多次提交。我用尽了我所知道的一切,但无法阻止它。下面是我的功能: 下面是我的表格: 但有时如果用户多次点击按钮的速度太快,则点击多次工作。不是每次。有人知道吗?