Auslösen eines Tastaturereignisses in Chrome

Ich versuche, ein Tastaturereignis für eine Seite mit Javascript in Chrome auszulösen. Ich hatte einen Ansatz, der früher mit Firefox funktionierte:

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);
}

Wobei key der gewünschte Schlüssel ist und keyCode Kleinbuchstaben in Großbuchstaben ändert und auch charCodeAt () aufruft.

Mein Problem ist, dass Ereignisse auf Safari / Chrome nicht initKeyEvent, sondern initKeyboardEvent haben. Der Hauptunterschied, den ich feststellen konnte, war, dass Sie den Schlüssel als keyIdentifier (der wie ein Unicode-Zeichen aussieht) übergeben müssen, anstatt den Schlüsselcode und das Schlüsselzeichen zu übergeben. Trotzdem schaffe ich es immer noch nicht, es zum Laufen zu bringen.

Ich habe auch den beschriebenen JQuery-Ansatz ausprobiertHier ohne Erfolg.

BEARBEITEN: Ich habe dies ein wenig weiter getestet und es scheint, dass das Ereignis auf Chrome die Listener auslöst, aber keyCode / charCode ist immer 0. Ich habe versucht, evt.keyCode oder evt.charCode ohne Erfolg zu setzen.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage