Функция Keyup не работает с клавишей Tab (jQuery) - PullRequest
0 голосов
/ 07 июня 2018

У меня проблема с клавишей Tab в jQuery.Функциональная клавиша клавиши Tab не работает ни в коем случае.Что бы я ни написал в функции, это не сработало, фокусировался только на следующем текстовом поле.

Я пробовал это:

$('#sn_c3_scan').keyup(function(event) {
        if (event.key == "Tab") {
            alert('haha');
        }
 });

А также это:

$('#sn_c3_scan').keyup(function(event) {
    if (event.keyCode == "9") {
        alert('haha');
    }
});

Кстати, событие keydown все еще работало.Но поскольку функция keyup не работала, все, что я написал об изменении фокуса на другой элемент управления, будет потрачено впустую, когда ключ отпущен (потому что он автоматически изменил фокус на следующий элемент управления - что мне не нужно).

У кого-нибудь есть идеи?

Кстати, это мой HTML-код для текстового поля:

    <div class="row c3">
        <div class="col-md-3">
            <b>Serial (S/N):</b> 
        </div> 
        <div class="col-md-9"> 
            <input type="text" id = "sn_c3_scan" class="form-control" autofocus> 
        </div> 
   </div>

    <div class="row c3">
        <div class="col-md-3">
            <b>AAAA:</b> 
        </div> 
        <div class="col-md-9"> 
            <input type="text" id = "sn_c3_scan2" class="form-control"> 
        </div> 
   </div>

1 Ответ

0 голосов
/ 07 июня 2018

При нажатии клавиши табуляции фокус переключается на следующий элемент, поэтому клавиша не срабатывает в поле ввода.Вместо этого вы можете вспомнить нажатие клавиши события «tab» и выполнить код при вводе ключа в «документе».

jsbin ссылка: https://output.jsbin.com/tinoroxopu/3

(function(){
  var tabPress = false;
  $('#sn_c3_scan').keydown(function(event) {
    if (event.keyCode == "9") {
       tabPress = true;
    }
  });
  $(document).on('keyup', function(){
     if(tabPress){
      alert('hello');
      tabPress = false; //reset
    }
  })
})();
...