gpt4 book ai didi

javascript - 按键 shift 加任意数字

转载 作者:行者123 更新时间:2023-11-30 21:20:10 26 4
gpt4 key购买 nike

根据 this数字 1 的代码值为 49 但下面的代码无法正常运行。在控制台中,当用户按下数字 1 时,可以看到:

"keyCode": 49,
"key": "1",
"charCode": 49,
"char": undefined,
"which": 49,

意味着 1 的代码确实是 49 但如果与 shift 结合使用,它不会在控制台中显示任何内容。

另一方面,当按下 shift + 1 时:

"key": "!",
"code": "Digit1",
"location": 0,
"ctrlKey": false,
"shiftKey": true,
"altKey": false,
"metaKey": false,
"repeat": false,
"isComposing": false,
"charCode": 33,
"keyCode": 33,
"which": 33,

What is the correct way to detect keypress of shift + any number?

$(document).on('keypress', function(event) {
//console.log(event);
if (event.which === 49 && event.shiftKey) {
console.log("pressed shift + 1")
}
if( event.which === 65 && event.shiftKey ) {
alert('you pressed SHIFT+A');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

最佳答案

我需要做同样的事情。但是使用 keydown 还不够。我们已经将所有代码库转换为检查 event.key,因为这是推荐使用的属性。 (whichkeyCodecharCode 均已弃用。)

但在一个地方我们必须能够检测到 Shift + 1,因此我使用了:

var expectedKey '1'; // or w, or W, etc.
if (event.shiftKey) {
if (event.key == expectedKey || event.code == 'Digit' + expectedKey) {

event.code 提供按下的物理键,而不是键盘布局将其解释为的字符。

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key

关于javascript - 按键 shift 加任意数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45271870/

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