Получить событие нажатия ENTER при вводе, когда type = "number" - PullRequest
0 голосов
/ 03 мая 2018

В HTML текст ввода , используя метод onKeyUp Я могу перехватить событие нажатия на кнопку ввода при вводе введите = " text " .

Но это же событие не может сработать, если вход type = "number" .

HTML

<input id="inputLocation" type="text" class="inputBarCode" style="text-transform: uppercase" placeholder: placeholder/>

JS

 $('#inputLocation').keyup(function (e) {
     if (e.which === 13) {
         $('#inputLocation').blur();
         //self.executeLocationLookup();
         alert("Event ", e.which);
     }
 });

Подскажите, пожалуйста, как получить событие нажатия (13) кнопки ввода, если тип ввода цифровая клавиатура

Please Refer the attached image

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Лучше на самом деле прослушать событие submit, которое срабатывает при нажатии клавиши ввода.

Используйте следующую разметку:

<form>
    <input id="inputLocation" type="text" class="inputBarCode" style="text-transform: uppercase" placeholder: placeholder/>
</form>

и вы можете использовать submit() для прослушивания события отправки.

$('form').submit(function (e) {
    // prevent the page from auto-navigating on form submit
    e.preventDefault();

    // do something
});
0 голосов
/ 03 мая 2018

Использовать event.target.value свойство или $(this).val()

$('#inputLocation').keyup(function (e) {
  if (e.which === 13 && isNumber(e.target.value)) {
     $('#inputLocation').blur();
     //self.executeLocationLookup();
     alert("Event ", e.which);
  }
});  

function isNumber(n) {
   return !isNaN(parseFloat(n)) && isFinite(n);
}
...