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

Keycode for Print Screen (44 is not working)

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

尽管我一直在寻找,但没有找到如何做的信息。我发现的只是,ir 应该是 keyCode == 44.

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

我的错误在哪里?

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

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

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

注意 keyup 而不是 keydown

老实说,我不知道为什么这个有效而不是另一个,但我 认为 它可能与 OS 在按下时拦截它有关(不知何故?)阻止事件。

根据本页的评论:javascripter

In most browsers, pressing the PrntScrn key fires keyup events only.

所以你需要:

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

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