按下“c”键时Javascript切换变量

我想知道如果按下键“c”,我如何只使用 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)
  }
})


以上是按下“c”键时Javascript切换变量的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>