Ich versuche, ein Tastaturereignis in Safari mit JavaScript zu simulieren.
Ich habe dies versucht:
var event = document.createEvent("KeyboardEvent");
event.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 115, 0);
...und auch dies:
var event = document.createEvent("UIEvents");
event.initUIEvent("keypress", true, true, window, 1);
event.keyCode = 115;
Nachdem ich beide Ansätze ausprobiert habe, habe ich jedoch das gleiche Problem: Nachdem der Code ausgeführt wurde, wird die keyCode
/ which
Eigenschaften des Ereignisobjekts werden auf 0
, nicht 115
.
Weiß jemand, wie man ein Tastaturereignis in Safari zuverlässig erstellt und versendet? (Ich würde es vorziehen, es in einfachem JavaScript zu erreichen, wenn möglich).
0 Stimmen
Versuchen Sie, einen von Ihnen definierten Code oder eine Tastenkombination auszuführen, die der Browser versteht? Wenn es sich um Ihren eigenen Code handelt, wäre es vielleicht am besten, einen Event-Wrapper einzurichten, den Sie entweder über eine "echte" Tastaturschnittstelle oder über einen anderen Event-Generator aufrufen können, wie Sie es hier beschrieben haben. Refactoring nach Bedarf.
2 Stimmen
In diesem Beispiel versuche ich zu simulieren, dass der Benutzer "s" drückt. Letztendlich versuche ich zu simulieren, dass der Benutzer in einem Apple Dashboard Widget den Befehl R drückt.
2 Stimmen
Ihr Code hat mein Problem gelöst :)
0 Stimmen
Dies könnte hilfreich sein: jquery.keymasher .
4 Stimmen
Duplikat von JavaScript-Schlüsselereignisse simulieren
0 Stimmen
Nach Angaben der spez. nur
key
ycode
werden unterstützt.0 Stimmen
An diejenigen, die dafür stimmen, diese Frage zu schließen. Es macht keinen Sinn, diese Frage zu schließen, wenn die andere Frage keine akzeptierte Antwort hat und diese Frage spezifisch für Safari ist. Von Überprüfung