2

我正在使用 jQuery.hotkeys 来绑定键盘事件。

我正在尝试绑定Ctrl++ShiftN

$(document).bind('keydown', 'ctrl+shift+n', function(e) {
    e.preventDefault();
    alert('Ctrl+Shift+N');
    return false;
});

以上不起作用。有任何想法吗?

4

1 回答 1

2

Chrome 不允许您接管某些快捷方式。

如果您使用以下代码http://jsfiddle.net/rNkmA/1/

$(document).bind('keydown', function(e) {
    console.log(e.which);
    console.log(e.ctrlKey);
    console.log(e.shiftKey);
    if (e.ctrlKey && e.shiftKey && e.which === 78) {
        e.preventDefault();
        console.log('Ctrl+Shift+N');
        return false;
    }
});​

您会看到处理程序永远不会在 Chrome 中被调用

我建议您使用未预先分配给 chrome 的快捷方式,例如alt++ 。这将适用于 FF、IE、Safari 和 Chrome(有人测试过 Opera 吗?)shiftn

于 2012-11-16T00:00:54.367 回答