我正在使用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"
)?
答案 0 :(得分:2)
number
输入可以容纳整数以及浮点数。
由于123.
是整数,所以输入将返回整数123
另外123.4
是有效的浮点数,因此输入的值为123.4
无法从数字输入类型返回诸如123.4
之类的字符串,因为它不打算用于该类型。
答案 1 :(得分:0)
关键是e是一个表达式e²与e2相同,e后面没有任何数字,它是不完整的,并且该数字不会更改,因此不会保存“ e”。
与要点相同。末尾带有数字的数字本身就是数字,因此将不会保存。
您必须将其更改为文本,否则此行最后的“ e”不会保存。
答案 2 :(得分:0)
您可以将默认值存储在变量中,并在每次键入事件后更新该变量。
示例 HTML
<input type="number" onKeyup={event => this.eachKeyPress(event)} />
JS
let output = "";
function eachKeyPress(event){
output += event.key;
console.log("value : ",output );
}