当我们更改输入值时,我会将值抛出到控制台中。
$(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">
&#13;
尝试:步骤/按几次类型=数字。
结果:对于type = number,浏览器会暂停一段时间(超过1秒),但对于type = text,它会立即发生
预期:已用时间相同。即使是几毫秒(1秒内)也没问题。
可能的原因是type = number验证/首先解析输入,这就是为什么它花了更多次。但为什么需要这么长时间,甚至挂断我的浏览器?
答案 0 :(得分:3)
您可以使用.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">