打印屏幕的键码(44不起作用)

时间:2015-08-05 14:16:03

标签: javascript event-listener keycode

所以我想测试一下我网站的访问者是否按下了“打印屏幕”按钮。

正如我所寻求的那样,没有任何信息可以找到。我发现的全部是,ir应该是keyCode == 44。

我试过的所有其他按钮都没有问题。

我的错误在哪里?

以下是输入按钮的类似工作代码:

window.addEventListener("keydown", checkKeyPressed, false);

function checkKeyPressed(e) {
    if (e.keyCode == "13") {
        alert("The 'enter' key is pressed.");
    }
}

2 个答案:

答案 0 :(得分:6)

window.addEventListener("keyup", function(e) {
  if (e.keyCode == 44) {
    alert("The 'print screen' key is pressed");
  }
});

注意keyup而非keydown

老实说,我不知道为什么这样做而不是另一个,但我认为它可能与操作系统在媒体上拦截它并(以某种方式?)阻止事件有关。< / p>

答案 1 :(得分:2)

根据此页面上的评论:javascripter

  

在大多数浏览器中,按PrntScrn键仅触发键盘事件。

所以你需要:

function checkKeyPressed(e) {
    if (e.keyCode == "44") {
        alert("The print screen button was pressed.");
    }
}

window.addEventListener("keyup", checkKeyPressed, false);