为什么以下keypress
事件无法在Chrome和Safari上运行?它在Firefox中运行良好!
我错过了Chrome&的Safari?
$(window).keypress(function(event) {
if ((event.which == 115 && event.ctrlKey) || (event.which == 19)) {
// Trigger click.
$("form input[type=submit][name=update]",object_popup).click();
alert("Keys down are Ctrl + s + Return");
} else if ((event.which == 120 && event.ctrlKey) || (event.which == 19)){
// Trigger click.
$(".ps-button-close",object_popup).click();
alert("Keys down are Ctrl + x + Return");
} else {
return true;
}
event.preventDefault();
return false;
});
当我使用ctl + s时,Chrome / Safari将恢复默认设置并保存网页,当我使用ctl + x时会发出警报声。
答案 0 :(得分:5)
您必须稍微将代码更改为:
$(document).keydown(function(event) {
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
if (!( String.fromCharCode(event.which).toLowerCase() == 's' && event.ctrlKey) && !(event.which == 19)) {
return true;
}
event.preventDefault();
alert("Keys down are Ctrl + s + Return");
return false;
});