我可以在javascript按下按键后防止按键事件吗?

时间:2018-11-19 17:19:28

标签: javascript jquery keyevent

keydown-keyup js事件是否已链接?我可以在按键期间控制一个事件,以防止下一个相同按键的按键事件吗?

FlightCheckout

1 个答案:

答案 0 :(得分:1)

它们没有连接。

您可以使用变量在它们之间传递状态。

(function () { // IIFE to avoid making `block_keys` a global

    let block_keys = false;

    $(document).on("keydown", event => {
        if (some_condition()) {
            block_keys = true;
        } else {
            block_keys = false;
        }
    });

    $(document).on("keyup", event => {
        if (block_keys) {
            event.preventDefault();
        }
    });

}());

如果要在 element 上执行此操作,我可能会使用data()来存储状态,以便将其与元素直接关联。