Запуская Событие клавиатуры в Safari, использование JavaScript

Я пытаюсь моделировать событие клавиатуры в Safari с помощью JavaScript.

Я попробовал это:

var event = document.createEvent("KeyboardEvent");
event.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 115, 0);

... и также это:

var event = document.createEvent("UIEvents");
event.initUIEvent("keypress", true, true, window, 1);
event.keyCode = 115;

После попытки обоих подходов, однако, у меня есть та же проблема: после того, как код был выполнен, keyCode/which свойства объекта-события установлены на 0, нет 115.

Кто-либо знает, как надежно создать и диспетчеризировать событие клавиатуры в Safari? (Я предпочел бы достигать его в плоскости JavaScript, если это возможно.)

73
задан Trenton McKinney 29 September 2019 в 21:54
поделиться

1 ответ

Сеть разработчиков Mozilla предоставляет следующее объяснение:

  1. Создайте событие, используя event = document.createEvent ("KeyboardEvent")
  2. Инициируйте keyevent

с помощью:

event.initKeyEvent (type, bubbles, cancelable, viewArg, 
       ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, 
           keyCodeArg, charCodeArg)
  1. Отправьте событие с помощью yourElement.dispatchEvent (event)

Я не вижу последнего в вашем коде, возможно, это то, что вам не хватает. Надеюсь, это работает и в IE ...

8
ответ дан 24 November 2019 в 12:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: