Pas*_*rat 4 macos jquery google-chrome keyboard-shortcuts keypress
我知道这个问题在stackoverflow上被问到serval时间,我尝试了一些不同的解决方案,但是找不到适合我的代码.
我想在Mac上捕获键盘命令Ctrl+ S和Command+ S,目前我使用此代码(使用jQuery 2.1.0):
jQuery(window).on('keypress', function(event){
if (!(event.which == 115 && (event.ctrlKey||event.metaKey)) && !(event.which == 19)) return true;
// my save function
event.preventDefault();
return false;
});
Run Code Online (Sandbox Code Playgroud)
本规范适用于:
你会发现问题是谷歌Chrome,这里我只能捕获Ctrl+ S.
有谁知道如何解决这个问题?
ben*_*ick 11
这段代码适合我.我在Chrome(v33)Firefox(v24)和Safari(v6.1.1)中进行了测试.无论Control+ S和Command+ S工作.
$(document).keydown(function(event) {
// If Control or Command key is pressed and the S key is pressed
// run save function. 83 is the key code for S.
if((event.ctrlKey || event.metaKey) && event.which == 83) {
// Save Function
event.preventDefault();
return false;
};
}
);
Run Code Online (Sandbox Code Playgroud)
请注意我正在使用keydown而不是keypress.在jQuery 文档中,他们说:
注意:由于任何官方规范都没有涵盖按键事件,因此使用它时遇到的实际行为可能因浏览器,浏览器版本和平台而异.
我会避免使用它.
| 归档时间: |
|
| 查看次数: |
3171 次 |
| 最近记录: |