2012-11-15 52 views
2

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

我试图绑定按Ctrl ++ñ

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

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

+0

你从哪里读到可以将'ctrl + shift + n'传递给keydown? –

+0

它看起来是正确的 - 你的修饰符是按字母顺序排列的。你正在使用哪种浏览器? – Fenton

+0

胡安,我基于jQuery热键文档。没有提及'ctrl-shift-#'只是'ctrl-#','shift-#'。 Steve,我正在使用Chrome。 –

回答

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

我建议你使用未预先分配的快捷方式,像铬ALT + 转变 + n。这将工作在FF,IE浏览器和Safari浏览器(有没有人曾经测试过Opera?)

+0

@TimDown只是为了好玩! –