如果输入不是有效数字,则使用 <input type=number>
将导致 this.value
在事件侦听器内部返回一个空字符串。你可以在 http://jsfiddle.net/fSy53/ 看到一个例子
但是,无效字符仍会显示在输入中。
有没有办法从事件侦听器中获取实际 显示 的值,包括无效字符?
我的最终目标是防止用户在字段中实际输入任何非数字字符。我需要使用 type=number
以便移动设备使用数字虚拟键盘。我的目标是在 this.value = this.value.replace(/[^0-9.]/g, "")
keyup keypress
的操作,但这不起作用,因为如果输入了无效字符,则从 this.value
读取会返回 ""
。
原文由 Explosion Pills 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您不喜欢传入的键值,请尝试阻止默认行为: