gpt4 book ai didi

javascript - Javascript 中的 Onkeyup 事件不起作用?

转载 作者:行者123 更新时间:2023-11-28 02:08:26 25 4
gpt4 key购买 nike

我正在使用像 onkeyup 和 onkeydown 函数这样的事件。我尝试使用 Javascript 单独禁用 printscr 。我在 Google 上搜索到 alt 键 ASCII 是 18,Printscr 是 44。

这是我尝试禁用的代码:

document.onkeyup = function(e)
{
if (e.which === 44)
{
alert('alt key pressed');
return false;
}

};
var isAlt = false;
document.onkeydown = function(e)
{
if (e.which === 18) {
isAlt === true;
if (((e.which === 44)) && isAlt === true)
{
alert('tested printscreen');
return false;
}
}
};

其中 keyup 警报正在工作,但 return false 没有触发。此外,对于 alt+printscr 也没有收到警报。我该怎么办?我有什么地方做错了吗?

最佳答案

查看浏览器特定文档以停止事件:

e.stopPropagation()

此外,在按键中,文本框可能已填充了按键重复中的多个字符。在按键时,您需要存储该值。在 key up 中,如果获得 44 key ,则恢复该值。而且,您需要将键处理程序放置在窗口上,而不是文档上。

(function() {

var savedValue;

window.onkeyup = function(e) {
if (e.altKey && e.which === 44) {
alert('alt key pressed');

if (undefined !== savedValue) {
e.target.value = savedValue;
savedValue = undefined;
}
return;
}
};

window.onkeydown = function(e) {
if (undefined === savedValue) {
savedValue = e.target.value;
}

if (e.altKey && e.which === 44) {
alert("tested printscr");
}
};

})();

关于javascript - Javascript 中的 Onkeyup 事件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17446777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com