Я хочу симулировать события keydown для данного элемента textarea на странице html. Поскольку я использую chrome, я вызывал initKeyboardEvent
в моей переменной, и я передал keyCode, который я хочу ввести в текстовое поле. Вот что я пробовал:
var keyEvent = document.createEvent('KeyboardEvent');
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
inputNode.dispatchEvent(keyEvent);
В этом коде я печатаю букву m
, однако текстовое поле получает только keyCode 13
, который является ключом Enter
. Итак, я попробовал переопределить код, который я видел в Интернете, который устанавливает значение keyCodeVal, но без успеха
var keyEvent = document.createEvent('KeyboardEvent');
Object.defineProperty(keyEvent, 'keyCode', {
get : function() {
return this.keyCodeVal;
}
});
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
keyEvent.keyCodeVal = 77;
inputNode.dispatchEvent(keyEvent);
Есть ли у кого-нибудь идея, как установить значение keyCode?