我试图通过在iOS设备上使用JavaScript中的keydown事件来仅允许在HTML输入元素中输入数字0-9。我在keydown事件上为input元素设置了一个事件处理程序,它阻止了我不想要的输入,除了*和#。输入元素是tel类型,因此它会调出iOS电话键盘,其中包含*和#as选项。当我调试代码时,keyCode值进入事件,* = 56和#= 51但56也分配给数字8键,51也分配给数字3键。 我是否应该查看该事件的属性以确定是否真的是0-9?
NumericInputValidator.allowedKeys = [ 8, 35, 36, 37, 39, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 ];
答案 0 :(得分:0)
如果你试过这个怎么办?
<input type="tel" min="0" inputmode="numeric" pattern="[0-9]*" title="Non-negative integral number">
大多数浏览器应该能够阅读此内容。我认为Android可能有问题,但如果你不担心这个问题,或者JS你能解决这个问题,那么它应该没问题。
http://danielfriesen.name/blog/2013/09/19/input-type-number-and-ios-numeric-keypad/