gpt4 book ai didi

javascript - JS 检查按下的按键是英语 i 还是土耳其语 i

转载 作者:行者123 更新时间:2023-11-28 07:17:44 24 4
gpt4 key购买 nike

目标:

使用 javascript/jquery 将用户类型的字符大写(大写)。为此,我们使用 $('#input').keypress(...)

问题:

在英语中,字母i应大写为I

在土耳其语中,字母 i 应大写为 і

如果我们从 .keypress() 获取输入字符,我们会得到与输入的字符相对应的代码,但我们不知道它是否是英文 i (变成 I)或土耳其语 i(变成 і)。

如果我们从 .keydown() 获取输入字符,我们会得到与按下的键相对应的代码,但我们无法获取字符代码(它是 0)来确定按下的字符是否是英语 i(变为 і)或土耳其语 ı(变为 I)

解决方案:

因此,作为一种解决方法,我们考虑同时使用 keydown()keypress() 事件,因为 keydown() 优先,使用 keydown() 代码更新全局变量,我们在 keypress() 上检查该代码以获取键和字符,以便能够计算出哪个字符显示。

编辑:这只适用于 Chrome!

问题:

这是一个可行的跨平台解决方案吗?我们是否保证 keydown() 始终排在第一位?有没有更好、更简单的解决方案来解决这个问题?

编辑

我上面提到的解决方案仅适用于 chrome、firefox,从英语 i 和土耳其语 ' 键返回的按键代码(都打印 i) 是相同的 (73)。对于土耳其语 ',只有 chrome 返回正确的代码 (222)。

那么,有什么解决方案适用于所有浏览器吗?

最佳答案

toLocaleUpperCase() 方法不是您正在寻找的吗? http://www.w3schools.com/jsref/jsref_tolocaleuppercase.asp - 明确提到了土耳其语!

关于javascript - JS 检查按下的按键是英语 i 还是土耳其语 i,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30664967/

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