Включение события клавиатуры на Chrome

Я пытаюсь передать событие клавиатуры на страницу, используя JavaScript в Chrome. У меня был подход, который раньше работал на Firefox:

pressKey = function(key, shift) {
  var evt = document.createEvent('KeyboardEvent');
  evt.initKeyEvent("keypress", false, true, null, false, false,
                   shift, false, keyCode(key), key.charCodeAt(0));
  document.dispatchEvent(evt);
}

где ключ - это требуемый ключ, а keyCode меняет строчные буквы на прописные, а также вызывает charCodeAt ().

Моя проблема в том, что события в Safari / Chrome не имеют initKeyEvent, но initKeyboardEvent. Основное различие, которое я мог заметить, состояло в том, что вы должны передать ключ как keyIdentifier (который выглядит как символ Юникода) вместо передачи кода ключа и ключевого символа. Тем не менее, я все еще не могу заставить это работать.

Я также попробовал описанный подход JQueryВот безуспешно.

РЕДАКТИРОВАТЬ: Я отладил это немного дальше, и кажется, что событие в Chrome действительно вызывает слушателей, но keyCode / charCode всегда равно 0. Я попытался установить evt.keyCode или evt.charCode, но безуспешно.

Ответы на вопрос(5)

Ваш ответ на вопрос