【发布时间】:2019-06-17 11:30:41
【问题描述】:
我使用这个堆栈问题作为验证输入的基础。我有一个范围滑块,用户可以在其中输入一个介于 8 和 24 之间的数字。如果用户输入的数字超过 24,它应该转到 24。如果用户输入的数字小于 8,它应该转到 8。
我遇到的问题是,如果用户输入的数字超过 24,它会自动变为 8。有什么想法吗?
Prevent user from typing in input at max value
$('#interestValue').on('keyup keydown', function(e){
if ($(this).val() > 24
&& e.keyCode !== 46 // keycode for delete
&& e.keyCode !== 8 // keycode for backspace
) {
e.preventDefault();
$(this).val(24);
doMath();
}
if ($(this).val() < 8
&& e.keyCode !== 46 // keycode for delete
&& e.keyCode !== 8 // keycode for backspace
) {
e.preventDefault();
$(this).val(8);
doMath();
}
});
【问题讨论】:
-
我前两天回答了一个很相似的问题:stackoverflow.com/questions/54305302/…
-
我觉得
input事件会是更好的方法,而不是上下键。 -
input事件涵盖了 Chrome 和其他浏览器放入数字字段的向上/向下箭头按钮。
标签: javascript jquery