按下键"c"时 JavaScript 切换变量



我想知道如何只用javascript我可以切换一个名为x的变量,如果关键"c"正在被施压。我想要的是当关键字",则变量由0变为1,当按下"c"被解除,它将恢复为0。如何做到这一点?我已经声明了这个变量并将其命名为x。

let x = 0;

document上添加两个事件侦听器,一个用于keydown,另一个用于keyup

注意,keydown将反复触发,所以当您将x切换到1时,您应该删除事件侦听器以避免这种情况。当x切换回0时,可以重新添加侦听器。

let x = 0
const toggle = ({ code, type }) => {
if (code === "KeyC") { // check for the "c" key
x ^= 1 // toggle `x`

console.log(type, "set x to", x)

return true // return a flag so we know when x is modified
}
}
const keydownHandler = e => {
if (toggle(e)) {
// remove the event listener to avoid repeats
document.removeEventListener("keydown", keydownHandler)
}
}
document.addEventListener("keydown", keydownHandler)
document.addEventListener("keyup", e => {
if (toggle(e)) {
document.addEventListener("keydown", keydownHandler)
}
})

最新更新