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

Keycode for Print Screen (44 is not working)

本文关键字:工作 屏幕 键码 打印      更新时间:2023-09-26

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

尽管我一直在寻找,却找不到如何做这件事的信息。我只发现,它应该是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

老实说,我不知道为什么这个工作,而不是其他的,但我认为这可能与操作系统拦截它在按下和(不知何故?)阻塞事件有关。

根据此页面的评论:javascripter

在大多数浏览器中,按prntscreen键只触发keyup事件。

所以你需要:

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