$(window).keypress(function(event) {
if (event.which == 115 && event.ctrlKey){
myfunction();
}
});
myfunction(){
alert("Key pressed Ctrl+s");
}
当按下 Ctrl + S 时,我看不到此myfunction是触发器。任何人都可以帮忙吗?我是 jQuery 的新手。提前谢谢。
答案 0 :(得分:2)
功能定义错误:
这应该有效
$(window).keypress(function(event) {
if (event.which == 115 && event.ctrlKey){
myfunction();
return false;
}
});
function myfunction(){
alert("Key pressed Ctrl+s");
}
答案 1 :(得分:2)
倾听keyup
和keydown
。此外,'s'的关键代码是83.这可靠地起作用:
$(document).bind("keyup keydown", function(e){
if(e.ctrlKey && e.which == 83){
myfunction();
}
});
function myfunction(){
alert("Key pressed Ctrl+s");
}
答案 2 :(得分:1)
正如Prabhas所说,你的功能定义是错误的。
但您还需要使用keydown
,而不是keypress
。
普通Javascript(某些浏览器使用event.charCode
和其他event.keyCode
可能不可靠):
window.addEventListener('keydown', function(e) {
if (e.keyCode == 83 && event.ctrlKey) {
myfunction();
}
});
jQuery(将event.which
和charCode
标准化keyCode
,请参阅:http://api.jquery.com/event.which/):
$(document).bind("keydown", function(e) {
if(e.which == 83 && event.ctrlKey){
myfunction();
}
});