Javascript捕获ctrl + alt + c

时间:2013-12-20 20:12:54

标签: javascript jquery key-bindings hotkeys

在我的网络应用中,我想使用 ctrl + alt + c 作为热键。

我阅读了一堆Stack Overflow文章并提出了以下解决方案

$(document).keydown(function(e){
   if(e.ctrlKey && e.altKey && e.which == 99){
     e.preventDefault();
     window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
   }
});

这不适用于chrome。我试过调试。

我注意到的是,只要按下ctrl键,它就会进入功能状态,就像条件失败一样,它就会出现。

我怎样才能让它发挥作用。

2 个答案:

答案 0 :(得分:4)

你的代码有两个错误

1st : keycode of c is 67
2nd : text variable is undefined.

所以最终的代码是

$(document).keydown(function(e){
   if(e.ctrlKey && e.altKey &&  e.which == 67){
      e.preventDefault();
       prompt("Copy to clipboard: Ctrl+C, Enter","text");
   }
  });

你可以查看小提琴here

答案 1 :(得分:3)

使用事件keypress代替。 Example on jsFiddle

$(document).keypress(function(e)
{
    if (e.which == 8354) // ctrl+alt+c
    {
       e.preventDefault();
       console.log("success");
    }
    else
    {
        console.log("fail");
    }
    console.log(e);
});