iPad、JavaScript 字符编码和 shiftKey

6

假设我有一个 Web 应用程序,每当用户在 ID 为“txt”的文本区域按键时,都会调用以下 jQuery 代码:

$('#txt').keydown(function(e) {
console.log(e.which); // shows the keyCode
console.log(e.shiftKey);
}

在桌面浏览器上,对于像(9这样的字符,我可以通过检查Shift键是否按下(使用e.shiftKey)来区分它们。然而,在iPad的Safari中,输入这些字符不需要按下Shift键。因此,例如,在iPad键盘上同时按下(9会在控制台中记录“57”作为keyCode。e.shiftKey记录的值始终为false。
如何才能可靠地区分iPad上的大写字符输入?谢谢!
1个回答

2
你可以尝试使用keyPress。在keyDown事件中,9(都有57,但在keyPress事件中,它们分别为9:57(:40
希望这能帮助你,这里还有一个有用的链接:http://notes.ericjiang.com/posts/333 或者使用event.charCode,它将返回ASCII代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接