iPad,JavaScript字符代码和shiftKey

rob*_*mer 6 javascript mobile-safari keyboard-events ipad

假设每次用户按下ID为"txt"的textarea中的键时,我都会调用以下jQuery的Web应用程序:

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

在桌面浏览器上,对于像(和这样的字符9,我可以通过检查是否按住shift键来区分两者(使用e.shiftKey).但是,在Safari for iPad中,键入这些字符不需要Shift键.因此,例如,按下iPad键盘上的两个键(9在keyCode的控制台中记录"57".为e.shiftKey记录的值始终显示为false.

我如何能够可靠地区分在iPad上键入移位字符?提前致谢!

kha*_*ael 2

您可以尝试使用 keyPress。在 keyDown 中,9(都有 57,但在 keyPress 事件中,它们有9 : 57( : 40

希望这也有帮助,一个有用的链接http://notes.eric Jiang.com/posts/333

或者使用它将event.charCode返回 ASCII 代码。