【问题标题】:How to listen for two keydown events with vanilla JS? [duplicate]如何使用 vanilla JS 监听两个 keydown 事件? [复制]
【发布时间】:2019-08-13 15:18:33
【问题描述】:

如何在没有任何第三方库或框架的情况下以最idomatic 的方式同时监听两个 keydown 事件?

示例代码(不工作):

myFile.js

handleKeyDown(e) {
    switch (e.keyCode) {
        case 32 && 39: { // SPACE + RightArrow
            e.preventDefault();
            console.log(e)
        }
    }
}

【问题讨论】:

    标签: javascript keydown


    【解决方案1】:

    您应该听的不仅仅是一个事件。但是您应该首先在空间关闭时使用 keydown 事件进行监听,并在空间上升时使用 keyup 事件进行监听并将其存储在全局状态中。然后监听什么时候按下右箭头,使用我们之前设置的全局状态测试空格是否向下,如果按下右箭头时空格是向下的,你就有了你的事件。

    【讨论】:

    • 我不确定如何以有效的方式实现这一点,这就是导致我的问题的原因
    猜你喜欢
    • 2017-04-16
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    相关资源
    最近更新 更多