Как смоделировать реальное событие клавиатуры с пользовательской виртуальной клавиатурой? - PullRequest
0 голосов
/ 11 октября 2019

Я объясню с помощью псевдокода, что я хочу делать в JavaScript. Я создал пользовательскую клавиатуру в html / css следующим образом:

enter image description here

и мой псевдокод, что я хочу сделать

html код

<div class="key w-key" onclick="qwertyKeyboard('w')">w</div>

код JavaScript

function qwertyKeyboard(char) {

  if (event.key == char ) { //event.key = 'w'
    press this event.key
  }
}

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

Ответы [ 3 ]

0 голосов
/ 11 октября 2019

вы можете взять кнопку для вашей виртуальной клавиатуры, которая будет прослушивать событие нажатия мыши, при этом значение каждой кнопки будет отправлено

function qwertyKeyboard() {
   
   var key= document.getElementById("w").value;
   alert(key)
    }
<button  id="w" value="w" onclick="qwertyKeyboard()">w</button>

это логика JS для рендеринга события click, а затем все, что вы хотите реализовать после получения значения щелчком мыши на каждой кнопке клавиатуры (виртуальная). ).

0 голосов
/ 11 октября 2019

Судя по вашему вопросу, я думаю, что вы хотите смоделировать нажатие клавиатуры, нажав на виртуальную клавиатуру

, так что вот небольшой фрагмент в jquery для имитации нажатия клавиши

  var e = jQuery.Event("keydown");
  e.which = 112;       // code for key f1
  $(document).trigger(e);// 

что выхотите сделать, это заменить 112 на соответствующий код клавиши нажатой клавиши

0 голосов
/ 11 октября 2019

Вы можете использовать EventTarget.dispatchEvent(Event) для программного запуска события. Вы должны будете передать весь объект Event вручную. Что-то вроде {key: "w", keycode: ...etc }

См .: EventTarget.dispatchEvent для более подробной информации.

...