gpt4 book ai didi

javascript - 检查循环函数中是否按下了特定键

转载 作者:行者123 更新时间:2023-12-02 17:43:07 26 4
gpt4 key购买 nike

所以我的脚本有一个循环函数,旨在当按下特定键(a键)时打印出一个字符串,如果没有按下,则打印出不同的字符串,以便当按住该键时它将连续打印第一个字符串。我已经尝试了大约 30 种不同的方法来让它注册,但没有任何效果。该函数从另一个函数开始运行,而不是当我按下 div 上的按钮时,所以我不想听到任何 onKeyDown 来运行该函数,我需要它不断运行并检查何时按下该键

function legs(interval, key, text) {

if (foot == true) {
text.innerHTML = 'Left Foot<br/><br/>' + text.innerHTML;
} else {
text.innerHTML = 'Trip!<br/><br/>' + text.innerHTML;
}

setTimeout(function(){legs(interval, key, text)},interval);
}

它传递给的间隔是500,键是'a',文本是它打印字符串的div。谁能帮我解决这个问题吗?

最佳答案

使用 bool 变量keyPressed。在文档上使用 keydown 事件来监视 a 键。如果按下,则更改变量 keyPressed = true。然后在 keyup 上设置keyPressed = false

使用 jQuery:

var keyPressed = false;

$(document).keydown(function(e){
var keycode = e.keyCode || e.which;

//if a key is held down
if(keycode == 65){
keyPressed = true;
}


});

$(document).keyup(function(e){
var keycode = e.keyCode || e.which;

if(keycode == 65){
keyPressed = false;
}
});

使用普通的 JavaScript:

document.onkeydown = function(e){
var keycode = e.keyCode || e.which;

//if a key is held down
if(keycode == 65){
keyPressed = true;
}


}

document.onkeyup = function(e){
var keycode = e.keyCode || e.which;

if(keycode == 65){
keyPressed = false;
}
}

关于javascript - 检查循环函数中是否按下了特定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22024463/

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