我在HTML5页面中输入了以下文本:
<input type="text" class="quantity"
onkeypress='return (event.charCode >= 48 && event.charCode <= 57) || event.charCode == 8 || event.charCode == 46' required />
因为我需要一个只允许数字的输入文本,但我也可能需要删除一个数字。当我按退格键或删除什么也没有发生。
上面的代码只允许数字。我怎么能允许退格键和删除?
4条答案
按热度按时间vsaztqbk1#
keypress
event
仅输出字母代码。请使用keydown
。当一个键被按下并且该键通常产生一个字符值(使用input代替)时,将触发keypress事件。
我使用
e.which
是因为keydown
产生了它,但是,正如文档所说,which
已被弃用,应该使用key
(即使没有完全实现)查看Fiddle和keypress docs
0x6upsns2#
这个jquery函数可以做到这一点
wz1wpwve3#
你不应该使用keypress事件,而应该使用keyup或keydown事件,因为keypress事件是针对真实的(可打印的)字符的。“keydown”是在较低的级别处理的,所以它将捕获所有非打印键,如DEL和ENTER
5us2dqdw4#
我已经创建脚本允许下面的按钮在数字文本box.in这我已经允许退格键,删除,箭头右,箭头左.对于退格键代码是8,删除代码是46,箭头右是39,箭头左是37.如果你不允许删除键,那么你可以删除ID [37,39,8,46].这个例子删除键.