Включение события клавиатуры на 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, но безуспешно.