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.