所以我想测试一下我网站的访问者是否按下了“打印屏幕”按钮。
正如我所寻求的那样,没有任何信息可以找到。我发现的全部是,ir应该是keyCode == 44。
我试过的所有其他按钮都没有问题。
我的错误在哪里?
以下是输入按钮的类似工作代码:
window.addEventListener("keydown", checkKeyPressed, false);
function checkKeyPressed(e) {
if (e.keyCode == "13") {
alert("The 'enter' key is pressed.");
}
}
答案 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);