iOS上的KeyDown事件,2和@之间没有区别

Bro*_*tse 5 javascript jquery ios

我有一个我想要的输入(除了其他格式化的东西)只允许数字.这对keyDown事件很容易:

field.keydown(function(e) {
  if (e.shiftKey) return false;
  var key = e.which;
  var is_numeric = ((key <= 57 && key >= 48) || (key <= 105 && key >= 96));
  // ...
  if (is_numeric && ..) {
    format_field();
    return true;
  }
  return false;
}
Run Code Online (Sandbox Code Playgroud)

这工作很漂亮,但是我有iOS的严重的问题,因为有具有相同的键码对符号,数字(例如@2既有代码50,或者1!都是49),并且在余下的标志无差异以及(shiftKey,altKey,"ctrlKey`对于两个事件造成的).我已经测试了这些事件:http://api.jquery.com/keydown/(参见页面底部的演示),我没有注意到这些对的keyDown事件之间有任何区别.

绝对没有办法告诉我哪个键被按下了或者我错过了什么?