我有一个我想要的输入(除了其他格式化的东西)只允许数字。这对于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;
}
这很好用,但是我遇到了严重的iOS问题,因为有一对符号 - 具有相同键码的数字(例如@
和2
都有代码50或{ {1}}和1
都是49)并且其余标志也没有差异(!
,shiftKey
,&#39; ctrlKey`对于这两个事件均为false) 。我已经在http://api.jquery.com/keydown/上测试了这些事件(请参阅页面底部的演示),但我没有注意到这些对的keyDown事件之间存在任何差异。
绝对没有办法告诉我哪个键被按下了或者我错过了什么?