gpt4 book ai didi

javascript - 某些组合键会阻止 javascript 中的键事件

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

开发一款需要同时按住多个键才能触发独特功能的应用。

我遇到过这样一种情况,即某些键的组合会阻止“keydown”被触发。

持有水平行 1 > 2 > 3 > 4 > 5 > 6 或垂直列 1 > Q > A > Z

(6 个键似乎是浏览器一次可以识别的最大值)将起作用 - 但是如果用户按住 Angular 形,例如 1 > 2 > w 事件将被阻止。

可以使用这个 fiddle 来演示: http://jsfiddle.net/B1KMusic/U5L2X/light/

有趣的是,虽然这种键的“形状”看起来很重要 - 2 > 3 > W3 > 4 > R 等也将被阻止。

即使此形状在键盘上旋转,相同的形状如:C -> X -> SN -> H -> J 也会执行相同的操作.

如果留有间隙并且拐 Angular 未“连接”,则事件将正常工作 3 > E > D > V - 但如果按下 C不管用。

这是怎么回事?这是一些有意的浏览器默认设置以防止 key 混搭吗?


编辑:正如所提供的答案所指出的,这是一个硬件问题,因此包含硬件信息是有意义的:在 2013 年末的 Macbook Pro 上测试,apple stackexchange 问题证实了这里的答案:https://apple.stackexchange.com/questions/47699/are-apple-keyboards-multi-key-rollover

最佳答案

这是键盘的硬件限制,而不是浏览器的问题。大多数键盘对键开关使用矩阵排列,因此无法检测按下的某些键组合。有效和无效的具体组合取决于硬件,但一般来说,假设可以同时按下两个以上的非修改键是不安全的。

一些游戏键盘支持 n-key rollover (即一次按下任意数量的键),但这种情况很少见。

关于javascript - 某些组合键会阻止 javascript 中的键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973527/

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