gpt4 book ai didi

javascript - 如何使用 jQuery 解决 OSX 死键问题?

转载 作者:行者123 更新时间:2023-11-28 01:15:17 25 4
gpt4 key购买 nike

有人在 github 上报告了此问题:dead keys on MacOS ,在我的代码中,我使用 keypress 事件来插入字符(以及快捷键的 keydown):

$(document.documentElement || window).bind('keypress.cmd', function(e) {
...
self.insert(String.fromCharCode(e.which));
...
});

有人有使用 jQuery 在应用程序中修复此问题的经验吗?似乎在该键盘上只触发了 keydown,但没有触发 keypress。

这是唯一的解决方案吗:How can I eliminate dead keys on Mac OS X with international keyboard?

最佳答案

死键似乎只会触发按键本身的按键按下和向上 + 实际字符的完整序列。以下是按下死亡 ^ + u 时的序列(结果 û):

down   192 c0 À
up 192 c0 À
down 85 55 U
press 117 75 u
up 85 55 U

这是死者´ + u (=ú)

down   187 bb »
up 187 bb »
down 85 55 U
press 117 75 u
up 85 55 U

反引号是用Shift输入的,所以顺序是

down   16 10 
down 187 bb »
up 187 bb »
up 16 10
down 85 55 U
press 117 75 u
up 85 55 U

http://jsfiddle.net/r8dMu/

(德语布局/osx10.9/Chrome)。

所以,解决方法可能是这样的:

document.body.onkeydown  = function(e) { 
if(e.which == 229) {
input.value += "^";
e.preventDefault();
}
if(e.which == 187 && e.shiftKey) {
input.value += "`";
e.preventDefault();
}
}

关于javascript - 如何使用 jQuery 解决 OSX 死键问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910941/

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