gpt4 book ai didi

javascript - 如果键在 javascript 循环中关闭,则返回 true?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:24 26 4
gpt4 key购买 nike

我想在循环中添加一个条件,测试右箭头是否被按下以及它是否向右移动了一个 div。但是我不知道如何检查他们的按键。

我正在使用代码来执行此操作,但它确实很长,我确信有更短的方法来执行此操作。

这是代码:

    <div id="char"></div>
<script>
setInterval(function() {

// here it should check if RIGHT (keycode 39) is down and move char 10px to the right if it is;

}, 20);
</script>

如何检查循环内的 keydown?顺便说一句,我还在网站上使用 jQuery。

谢谢

最佳答案

在原始 JS 中你会做这样的事情(按预览然后按住 w):

http://jsbin.com/odalo3/edit

var isPressed = false;

var keydown = function(e){
if(e.keyCode == 87){
isPressed = true;
}
}
var keyup = function(e){
isPressed = false;
}

document.addEventListener("keydown",keydown,false);
document.addEventListener("keyup",keyup,false);

setInterval(function(){
if(isPressed){
document.getElementById('hello').innerHTML = document.getElementById('hello').innerHTML+', pressed';
}
},100)

更新

如果您使用的是 jQuery,则可以将 eventListeners 更改为:

$(window).keydown(function(e){
if(e.keyCode == 87){
isPressed = true;
}
})
.keyup(function(e){
isPressed = false;
})

并删除这些行:

var keydown = function(e){ 
if(e.keyCode == 87){
isPressed = true;
}
}
var keyup = function(e){
isPressed = false;
}

document.addEventListener("keydown",keydown,false);
document.addEventListener("keyup",keyup,false);

但这是一回事。

关于javascript - 如果键在 javascript 循环中关闭,则返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com