Как сделать так, чтобы клавиша разделения цифровой клавиатуры действовала как табуляция, а десятичная цифровая клавиатура - как обратное пространство - PullRequest
0 голосов
/ 17 июня 2020

Мне нужно / (разделить), чтобы действовать как клавиша табуляции (переключаться между входами) и. (десятичное), чтобы действовать как backspace (удалить символы внутри текстового поля), используя чистые JavaScript или JavaScript и jQuery, CSS и HTML. Как я могу этого добиться?

Может быть, с таким скриптом?

document.addEventListener('keyup', function (e) {
      if (e.keyCode == 111) {
        var e2 = jQuery.Event("keydown");
        e2.which = 8; 
        e2.keyCode = 8;
        $("input").trigger(e2);
      }
    });

А это для вкладки

document.addEventListener('keyup', function (e3) {
      if (e3.keyCode == 110) {
        var e4 = jQuery.Event("keydown");
        e4.which = 9; 
        e4.keyCode = 9;
        $("input").trigger(e4);
      }
    });

1 Ответ

0 голосов
/ 18 июня 2020

Рассмотрим следующий пример.

$(function() {
  function alterText(evt) {
    var c = evt.which;
    var t = $(evt.target);
    if (c !== 46 && c !== 47) {
      return true;
    }
    evt.preventDefault();
    if (c == 46) {
      t.val(t.val().slice(0, -1));
    }
    if (c == 47) {
      t.next().focus();
    }
    return false;
  }

  $("input").keypress(alterText);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="part-1" />
<input type="text" id="part-2" />
<input type="text" id="part-3" />

Вы можете использовать .keypress(), подробнее здесь: Имитируйте нажатие клавиши табуляции с помощью jQuery

Если which - это 46 (.) или 47 (/), мы можем имитировать c указать c операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...