Что вы можете сделать, так это программно вызвать слушателей ключевых событий , запустив ключевых событий . Имеет смысл разрешить это с точки зрения безопасности. Используя эту способность, вы можете применить типичный шаблон наблюдателя . Вы можете назвать этот метод "имитацией".
Ниже приведен пример того, как этого добиться в стандарте DOM W3C вместе с jQuery:
function triggerClick() {
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
var cb = document.querySelector('input[type=submit][name=btnK]');
var canceled = !cb.dispatchEvent(event);
if (canceled) {
// preventDefault was called and the event cancelled
} else {
// insert your event-logic here...
}
}
Этот пример адаптирован из: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events
В jQuery:
jQuery('input[type=submit][name=btnK]')
.trigger({
type: 'keypress',
which: character.charCodeAt(0 /*the key to trigger*/)
});
Но в последнее время [DOM] не существует способа фактически инициировать события, связанные с выходом из браузера-песочницы. И все основные поставщики браузеров будут придерживаться этой концепции безопасности.
Что касается плагинов, таких как Adobe Flash, которые основаны на NPAPI и допускают обход песочницы: это поэтапный отказ ; Firefox .
Подробное объяснение:
Вы не можете и не должны по соображениям безопасности (как уже указывал Пекка). Вы всегда будете требовать взаимодействия пользователя между ними. Кроме того, представьте, что пользователи браузеров могут подать в суд на пользователей, поскольку различные программные события на клавиатуре приведут к подделке атак.
Смотрите этот пост для альтернатив и более подробной информации. Всегда есть флэш на основе копирования и вставки. Вот элегантный пример . В то же время это свидетельство того, почему Интернет отходит от поставщиков плагинов.
Существует аналогичный подход к безопасности, применяемый в случае opt-in политики CORS для программного доступа к удаленному контенту.
Ответ:
В нормальных условиях нет возможности программно запускать клавиши ввода в изолированной среде браузера .
Итог: Я не говорю, что это не будет возможно в будущем, при особых режимах браузера и / или привилегиях по отношению к конечной цели игр или аналогичных пользовательских впечатлений. Однако до входа в такие режимы у пользователя будут запрашиваться разрешения и риски, аналогичные полноэкранной модели API .
Полезно: В контексте KeyCodes, этот инструмент и отображение кода ключа пригодятся.
Раскрытие информации: Ответ основан на ответе здесь .