gpt4 book ai didi

javascript - 按下键时如何触发事件

转载 作者:行者123 更新时间:2023-12-01 15:22:11 25 4
gpt4 key购买 nike

我之前尝试过代码,但是当我按住 W 时它会重复代码,但我想这样做,如果我按住它,它只会执行代码之一。

window.addEventListener("keydown", checkKeyPressW, false);

var player = document.getElementById("player");

var leftMarginCounter = 0;
var bottomMarginCounter = 0;

var leftMarginCounterToString = "";

function checkKeyPressA_D(keyPressed) {
if(keyPressed.keyCode == "97") {
if(player.style.marginLeft != "0px") {
leftMarginCounter = leftMarginCounter - 1;
leftMarginCounterToString = leftMarginCounter.toString();
leftMarginCounterToString = leftMarginCounterToString + "px";
player.style.marginLeft = leftMarginCounterToString;
}
}
else if(keyPressed.keyCode == "100") {
if(player.style.marginLeft != "1316px") {
leftMarginCounter = leftMarginCounter + 1;
leftMarginCounterToString = leftMarginCounter.toString();
leftMarginCounterToString = leftMarginCounterToString + "px";
player.style.marginLeft = leftMarginCounterToString;
}
}
};

function checkKeyPressW(keyPressedW) {
if(keyPressedW.keyCode == "87") {
console.log("Pressed w");
}
}

最佳答案

JS 演示:https://jsfiddle.net/utnqeLmf/1/

代码:

 window.addEventListener("keydown", checkKeyPressW,  {
once : true
});

From the docs

once A Boolean indicating that the listener should be invoked at most once after being added. If true, the listener would be automatically removed when invoked.



编辑

如果您想在按下按键时避免连续按键安慰,请将事件更改为 keyup
window.addEventListener("keyup", checkKeyPressW);

关于javascript - 按下键时如何触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61369262/

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