gpt4 book ai didi

javascript - 如何检测在 Javascript keyup 事件中何时按下 Shift+NumKey?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:31 24 4
gpt4 key购买 nike

我编写了以下代码,如果在键盘上按下 [Shift] 键,则向控制台写入“true”,否则为“false”。

<script>
var el = document.getElementById("myInput");
el.addEventListener("keyup", function (e) {
console.log(e.shiftKey);
});
</script>

出于某种原因,当通过按 10 键上的数字触发事件时,此代码不起作用。如果我按住 Shift 键并按 Numpad5,它会记录 false。我在 Chrome、Firefox 和 IE 中看到了相同的行为。

我需要能够检测用户是否在按下 10 键上的数字时按住 [Shift]。

编辑:为了回应@sagar 的评论,我专门测试了 1-10 键,因为这是我希望用户按下的键。其他键将暂时被忽略。我想知道用户何时按下了数字 1-10 的键,以及是否按下了 [Shift]。

最佳答案

你可以根据 e.getModifierState("NumLock") status 开启或关闭你的条件,因为当它开启时你的 e.shiftKeyfalse,如果它关闭,您的 e.shiftKeytrue

按下 Num lock 进行测试

var el = document.getElementById("myInput");
el.addEventListener("keyup", function(e) {

console.log(e.getModifierState("NumLock"))
});
<input type="text" id="myInput" />

关于javascript - 如何检测在 Javascript keyup 事件中何时按下 Shift+NumKey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57259027/

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