当我们更改输入值时,我会将值投入控制台。
$(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">