jQuery - 按Ctrl + S时如何触发函数?

时间:2015-10-23 17:41:30

标签: javascript jquery

   $(window).keypress(function(event) {
    if (event.which == 115 && event.ctrlKey){
        myfunction();
    }
   });
   myfunction(){
    alert("Key pressed Ctrl+s");
   }

当按下 Ctrl + S 时,我看不到此myfunction是触发器。任何人都可以帮忙吗?我是 jQuery 的新手。提前谢谢。

3 个答案:

答案 0 :(得分:2)

功能定义错误:

这应该有效

$(window).keypress(function(event) {
  if (event.which == 115 && event.ctrlKey){
    myfunction();
    return false;
  }
});
function myfunction(){
    alert("Key pressed Ctrl+s");
}

答案 1 :(得分:2)

倾听keyupkeydown。此外,'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.whichcharCode标准化keyCode,请参阅:http://api.jquery.com/event.which/):

$(document).bind("keydown", function(e) {
    if(e.which == 83 && event.ctrlKey){
        myfunction();
    }
});
相关问题