У меня есть тип ввода = число, где минимальное значение равно 1, максимальное равно 10. Я хочу предотвратить ввод значения больше или меньше, чем максимальное и минимальное, поэтому я использую этот скрипт:
$('input[name=inputModal1]').keyup(function(){
if($(this).val()>10){
$(this).val(10);
}else if($(this).val()<1){
$(this).val(1);}
});
$('input[name=inputModal2]').keydown(function(){
if($(this).val()>10){
$(this).val(10);
}else if($(this).val()<1){
$(this).val(1);}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" name="inputModal1" min="1" max="10" value="1">
<input type="number" name="inputModal2" min="1" max="10" value="1">
В таком виде скрипт работает, но я хочу использовать keydown
, он предотвращает ввод большего или меньшего значения, чем максимальное и минимальное значение, но keyup
дает больше или меньше ввода, если пользователь нажимает и удерживает кнопку. В чем может быть причина того, что keydown
не работает? Я могу удалить значение, сделать его больше 10 и т. д.
Дайте мне знать, если вам нужна дополнительная информация.