javascript - 将多个按键绑定(bind)到按键事件

标签 javascript jquery event-handling jquery-events

我目前正在使用这个 Javascript 按键代码在按键时触发事件:

$(document).keydown(function(e) {
    switch(e.keyCode) {

    case 39:
        e.preventDefault();
        alert("Arrow Key");
        break;

    case 37:
        e.preventDefault();
        alert("Arrow Key");
    }
});

但我想知道的是,我是否可以不绑定(bind)一个键而是绑定(bind)两个键的组合。我可以做类似的事情吗:

$(document).keydown(function(e) {
    switch(e.keyCode) { 
        case 39 && 37:
            e.preventDefault();
            alert("Arrow Key");
        break;
    }
});

最佳答案

如果你想一次检查多个键,你应该只使用一个常规键和一个或多个修饰键(alt/shift/ctrl),因为你不能确定用户的两个常规键是否真的可以同时按下键盘(实际上,它们始终可以按下,但由于键盘的接线方式,PC 可能无法理解)。

您可以使用 e.altKey、e.ctrlKey、e.shiftKey 字段来检查是否按下了匹配的修改键。

例子:

$(document).keydown(function(e) {
    if(e.which == 98 && e.ctrlKey) {
        // ctrl+b pressed
    }
});

关于javascript - 将多个按键绑定(bind)到按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4173460/

相关文章:

javascript - jQuery ajax 返回图像数据,但其他 JS 代码不再可见

javascript - jQuery 验证插件在检查用户名时抛出错误

javascript - jQuery 点击事件不会解除绑定(bind)

vb.net - 你如何在 vb.net 中创建一个可取消的事件

javascript - 谁能告诉我这种语法是如何调用的以及它的作用是什么?

javascript - 如何让 Darkmode Js 不粘?

Javascript 事件处理程序图像对象

javascript - HTML/CSS 下拉导航菜单不显示

javascript - 我们可以使用 JQuery UI Dialog 来进行复杂的操作吗?

多次触发 Scrollview 的 Android onScrollChanged