Javascript 如何检查(键盘上的)键是否被按下?
基本上是标题。我需要一个类似于蹲下按钮的功能——角色只有在按住向下箭头键时才蹲下,而不是只按一次。我如何让它工作?这是我尝试过的,但不起作用。提前谢谢Javascript 如何检查(键盘上的)键是否被按下?,javascript,html,css,Javascript,Html,Css,基本上是标题。我需要一个类似于蹲下按钮的功能——角色只有在按住向下箭头键时才蹲下,而不是只按一次。我如何让它工作?这是我尝试过的,但不起作用。提前谢谢 document.onkeydown = function (event) { let key = event.key; while (key == "ArrowDown") { character.style.width = 50 + "px"; char
document.onkeydown = function (event) {
let key = event.key;
while (key == "ArrowDown") {
character.style.width = 50 + "px";
character.style.height = 30 + "px";
character.style.top = 115 + "px";
}
}
按住任意键时,会连续触发
keydown
事件;松开键时,会触发keydup
事件
要实现您尝试执行的操作,请在触发keydown
事件时向角色添加样式,并在keydup
事件时从角色中删除这些样式
以下代码段显示了一个示例:
const character=document.querySelector('.character');
document.body.addEventListener('keydown',(事件)=>{
character.classList.add('crouch');
});
document.body.addEventListener('keyup',(事件)=>{
character.classList.remove('crouch');
});代码>
div{
宽度:100px;
高度:100px;
背景:黄色;
位置:相对位置;
}
克劳奇先生{
高度:50px;
顶部:50px;
}
按任意键
您可以处理onKeyDown
和onkeydup。如果没有keydup事件,则会将其按下。keydown和keydup事件之间的时间表示按下一个键的持续时间。当你按下键时,进入蹲姿模式,并聆听一声上键停止蹲姿。