我正在编写一个 Safari 6 扩展,它添加了一些键盘快捷键。我想做的一件事是在用户按下 ⌘+1 ⌘+2 等时进行捕捉。现在,Safari 似乎不会在发生这种情况时触发任何事件。这是一个小提琴: http: //jsfiddle.net/Xe9YQ/来显示代码,这里是 JS:
$( 'body' ).bind( 'keypress', function ( event ) {
var modifier = '';
if ( event.metaKey ) {
modifier += 'cmd-';
}
if ( event.ctrlKey ) {
modifier += 'ctrl-';
}
if ( event.altKey ) {
modifier += 'alt-';
}
if ( event.shiftKey ) {
modifier += 'shift-';
}
$( 'body' ).html( modifier + event.keyCode );
});
如果您尝试“⌘+j”、“⌘+t”,甚至“⌘+0”和“⌘+shift+5”,您将看到正确的输出。由此看来,这似乎不是覆盖浏览器快捷方式的问题,也不是使用数字行的问题。
有人熟悉这个问题吗?这是一个已知的错误?我会很感激任何建议。