gpt4 book ai didi

javascript - jquery - 无法在 keyup 事件上捕获 `@` (按速率符号)

转载 作者:行者123 更新时间:2023-12-01 02:39:04 25 4
gpt4 key购买 nike

我的代码中有一个 keyup 事件,我需要捕获 @ 字符。我正在使用这段代码:

$(function() {
$("#textbox").keyup(function(e) {
var keynum = e.keyCode;
if (keynum && e.shiftKey && keynum == 50) {
// Made a small change.
console.log("You pressed @ and value is: " + e.target.value);
}
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input id="textbox" />

现在的问题是,只要用户输入 shift+2 速度稍快一点,它就不起作用

编辑

您可以通过在另一个键(键盘上的 2 个)之前几毫秒释放修饰键(shift 键)来重现此问题,即非常快地输入 shift + 2

@ConstantinGroß 能够解决这个问题并有一个解决方法。请检查下面已接受的答案。

最佳答案

您可以使用 KeyboardEvent.key(e.key 与 e.keyCode): https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key

$("#textbox").keyup(function(e) {
if (e.key === '@') {
console.log("You pressed @ and value is: " + e.target.value);
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input id="textbox" />

关于javascript - jquery - 无法在 keyup 事件上捕获 `@` (按速率符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507196/

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