【发布时间】:2018-08-24 11:48:52
【问题描述】:
我正在使用 Preact:
<input type="number" onKeyup={event => console.log(event.target.value)} />
如果我输入句点或“e”,它不会作为event.target.value 的一部分出现,直到我在其后输入另一个数字。
例如
如果输入值为123,则记录123。
如果输入值为123.,则记录123。
如果输入值为123..,则记录123。
如果输入值为123.4,则记录123.4。
为什么会这样?有没有办法获取实际输入(不删除type="number")?
【问题讨论】:
-
输入类型号只是简单的解析123.作为整数123。为什么需要句号?
-
因为输入类型是数字,而
123.或123..不是有效数字 -
不确定人们对此有何看法,但是...我个人非常不喜欢数字输入!当你想要控制它们时,它们总是让人头疼。我的建议是使用“普通”输入并添加一个只允许数字(和小数,如果你想要的话)的正则表达式。
-
@Chris 我同意,我想我会改用
text输入,否则我需要很多number特定的逻辑。
标签: javascript html reactjs preact