JavaScript: симуляция ключевых событий в текстовое поле / ввод

Несмотря на то, что в SO написано много статей о том, как имитировать нажатие клавиш (keydown / keypress) в JS, похоже, ни одно решение не работает с браузерами, которые я использую (Firefox ESR 17.0.7, Chrome 28.0.1500.72, IE 10). Решения, которые я протестировал, были взяты изВот, Вот, а такжеВот.

Я пытаюсь симулировать ЛЮБОЕ нажатие клавиш в текстовой области / вводе. Хотя я могу добавлять / удалять символы, непосредственно меняющие «значение», я не вижу никакой опции, кроме симуляции ввода для таких клавиш, как «Вверх», «Вниз», «Домой» и некоторых других.

Согласнодокументация, это должно быть просто. Например:

var e = document.createEvent("KeyboardEvent");
if (e.initKeyboardEvent) {  // Chrome, IE
    e.initKeyboardEvent("keydown", true, true, document.defaultView, "Enter", 0, "", false, "");
} else { // FF
    e.initKeyEvent("keydown", true, true, document.defaultView, false, false, false, false, 13, 0);
}
document.getElementById("text").dispatchEvent(e);

действительно запускает событие нажатия клавиши «Ввод», и мой обработчик может его перехватить. Однако это никак не влияет на текстовую область - новая строка не появляется. То же самое для других кодов клавиш: символы не появляются, стрелки не меняют местоположение каретки и т. Д.

Я расширил код наOrwellophile и отправил этоhttp://jsfiddle.net/npF3d/4/ так что любой может поиграть с кодом. В моих браузерах ни одна кнопка не оказывает никакого влияния на текстовое поле в любом состоянии.

Буду признателен за любую помощь по этому вопросу.

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

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