打印屏幕的键码(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);
所以我想测试我网站的访问者是否按下了打印屏幕按钮。
尽管我一直在寻找,但没有找到如何做的信息。我发现的只是,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);