首页 > 解决方案 > javascript 游戏 - 只需点击键而不是一直按住键即可获胜

问题描述

我正在浏览器中创建一个简单的游戏,目的是让玩家点击分配的键盘键(例如,玩家 1 需要点击键“A”,玩家 2 需要点击键“P”)。点击次数多的玩家(挑战时间为 10 秒)获胜。

问题是,我只希望游戏在按键被点击但不一直按住的情况下才能工作。因为你可以通过一直按住一个键来获胜。有没有办法让它工作,所以玩家必须点击而不是按住键?

标签: javascripthtmlcss

解决方案


Key repeat 重复keydownand (对于某些键)keypress事件,但不重复该keyup事件。因此,要执行您所描述的操作,您需要同时监听 thekeydownkeyup事件,并且仅keydown当您keyup从上一次看到 a 后才将 a 计为实际按键。

但是请参阅smartilabs 的回答 ——正如他们指出的那样,您可能只能自己 keyup听。


推荐阅读