gpt4 book ai didi

javascript - jQuery 未检测到 keyup 上的修饰符

转载 作者:行者123 更新时间:2023-11-28 00:57:10 24 4
gpt4 key购买 nike

当我运行以下代码并按 Mac 上的命令键(使用 Chrome)时,metaKey 设置为 keydown 而不是 keyup。难道我做错了什么?我只是想跟踪按下的元键,以便我可以在 JavaScript 中使用它 - 如果有更好的方法,请告诉我:-)

   var metaPressed = false;
$(document).keydown(function(e) {
console.log('keydown ' + e.keyCode);
if (e.metaKey || e.ctrlKey) {
console.log('meta pressed');
metaPressed = true;
}
});
$(document).keyup(function(e) {
console.log('keyup ' + e.keyCode);
if (e.metaKey || e.ctrlKey) {
console.log('meta unpressed');
metaPressed = false;
}
});

这是相关键的控制台输出

// Pressing cmd
keydown 91
meta pressed
keyup 91

// Pressing control
keydown 17
meta pressed
keyup 17

// Pressing non-meta like spacebar
keydown 32
keyup 32

最佳答案

我现在明白了,我误解了 jQuery 如何处理修饰键。感谢@adeneo 的提示让我正确思考。

此外,如果您在按住元字符的同时按键,例如按 M-x,jQuery 不会发送“x”的按键,直到“M”也被释放。所以你不必担心诸如“meta down,x down,x up,meta up”之类的事情发生

关于javascript - jQuery 未检测到 keyup 上的修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26088671/

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