2012-11-15 53 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只是爲了好玩! –