Wypalanie wydarzenia z klawiatury w Chrome
Próbuję uruchomić zdarzenie klawiatury na stronie za pomocą javascript w Chrome. Miałem podejście, które działało w Firefoksie:
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);
}
gdzie klucz jest pożądanym kluczem, a keyCode zamienia małe litery na wielkie litery, a także wywołuje charCodeAt ().
Moim problemem jest to, że zdarzenia w Safari / Chrome nie mają zdarzenia initKeyEvent, ale initKeyboardEvent. Główną różnicą, jaką mogłem zauważyć, było przekazanie klucza jako identyfikatora klucza (który wygląda jak znak unicode) zamiast przekazywania kodu i klucza. Mimo to wciąż nie mogę tego zrobić.
Próbowałem również opisanego podejścia JQuerytutaj bezskutecznie.
EDYTOWAĆ: Debugowałem to trochę dalej i wydaje się, że zdarzenie w Chrome uruchamia detektory, ale keyCode / charCode zawsze ma wartość 0. Próbowałem ustawić evt.keyCode lub evt.charCode bez powodzenia.