使用上一个问题中的一个例子我有:
$(window).keypress(function(event) {
if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19)) return true;
$("form input[name=save]").click();
event.preventDefault();
return false;
});
是否也可以将其更改为适用于Mac cmd密钥?
我尝试了(!(event.which == 115 && (event.cmdKey || event.ctrlKey)) && !(event.which == 19))
,但这不起作用。
答案 0 :(得分:24)
使用 event.metaKey 检测Command键
$(document).keypress(function(event) {
if (event.which == 115 && (event.ctrlKey||event.metaKey)|| (event.which == 19)) {
event.preventDefault();
// do stuff
return false;
}
return true;
});
答案 1 :(得分:4)
要检测ctrl+s
和cmd+s
,您可以这样使用:
<强> jQuery的:强>
var isCtrl = false;
$(document).keyup(function (e) {
if(e.which == 17) isCtrl=false;
}).keydown(function (e) {
if(e.which == 17) isCtrl=true;
if(e.which == 83 && isCtrl == true) {
alert('you pressed ctrl+s');
return false;
}
});
答案 2 :(得分:2)
这对我有用:
$(document).keypress(function(event) {
if ((event.which == 115 || event.which == 83) && (event.ctrlKey||event.metaKey)|| (event.which == 19)) {
event.preventDefault();
// do stuff
return false;
}
return true;
});