HTML5 类型= "number"工作太慢了



当我们更改输入值时,我会将值投入控制台。

$(function(){
  $('#a, #b').change(function(){
    console.log($(this).val());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" id="a" value="1">
<input type="text" id="b" value="1">

试试

结果:浏览器悬挂了一段时间(超过1秒),= type = number,但对于type =文本,它立即发生

预期:经过的时间相同。即使对于Miliseconds(1秒以下)也可以。

可能的原因是type = number验证/解析输入,因此这就是为什么花费更多次的原因。但是为什么要花这么长时间,甚至挂上我的浏览器??

您可以使用.on()input触发器解决问题。change()似乎对输入type=number上下按钮触发。

$(function(){
  $('#a, #b').on("input",function(){
    console.log($(this).val());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" id="a" value="1">
<input type="text" id="b" value="1">

相关内容

最新更新