Как правильно использовать функцию нажатия клавиш? - PullRequest
1 голос
/ 24 апреля 2020

Я использую keydown для проверки, не превышает ли введенное текстовое значение значение, например, 10. 10.

Я делаю это:

HTML

<input id="number" type="text">

JQUERY

    $("#number").keydown (function(){
    var numberentered = $(this).val();
      if(numberentered < 10){
        console.log("IT IS NOT BIGGER THAN 10");
      }else{
        console.log("IT IS BIGGER THAN 10");
      }
    });

Если число равно < 10, все работает, но когда число, например, в данном случае 11, не работает.

$("#number").keydown (function(){
    var numberentered = $(this).val();
      if(numberentered < 10){
        console.log("IT IS NOT BIGGER THAN 10");
      }else{
        console.log("IT IS BIGGER THAN 10");
      }
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input id="number" type="text">

Если я изменяю keydown на keyup, это работает, но я хочу использовать keydown и знаю, почему это не работает.

Вся помощь приветствуется, приветствия и заранее спасибо !!

1 Ответ

0 голосов
/ 24 апреля 2020

Чтобы ответить на ваш вопрос , почему это не работает, потому что keydown срабатывает до изменения значения, а не после. Вместо этого вы хотите использовать input или keyup или одно из других событий, которое происходит после изменения значения.

$("#number").keydown (function(){
    var numberentered = $(this).val();
console.log(numberentered);
      if(numberentered < 10){
        console.log("IT IS NOT BIGGER THAN 10");
      }else{
        console.log("IT IS BIGGER THAN 10");
      }
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input id="number" type="text">
...