Próbuję znaleźć sposób na symulowanie naciśnięcia klawisza.Jak mogę symulować naciśnięcie klawisza w JavaScript?
Na przykład, po uruchomieniu funkcji należy nacisnąć klawisz "Strzałka w dół", aby strona była lekko przewijana.
Jestem zainteresowany tylko Chrome i zarówno jQuery, jak i zwykły JS będą odpowiednie. (Zwyklejszy JS będzie bardziej preferowany).
To jeden z przykładów kodu próbowałem:
var e = $.Event("keydown", { keyCode: 40}); // 40 = down arrow
$("body").trigger(e);
// When I launch it the console, nothing happens. The page is not scrolled.
// May be I missed some obvious?
ja szukałem i znalazłem następujące pytania związane, ale rozwiązania nie działa dla mnie:
- Definitive way to trigger keypress events with jQuery
- Firing a Keyboard Event in JavaScript
- How to trigger event in JavaScript?
- Simulate left and right arrow key event with javascript
- Simulate Keypress With jQuery
- Simulating a Keypress Event from Javascript Console
- Simulate JavaScript Key Events
Innymi słowy
Korzystanie AutoHotkey, można łatwo zrobić coś takiego:
Down::
Send, {Up}
Następnie, jeśli naciśniesz przycisk strzałki Down
, zostanie wyzwolony Up
. Chcę go zaimplementować z JS.
Może to zabrzmieć głupio, ale czy importowałeś 'jQuery' w swoim" HTML "? – AMACB
AFAIK wywołujący zdarzenie keydown spowoduje, że wszystkie manipulatory keydown będą przetwarzane. W rzeczywistości nie można przewijać przeglądarki, ponieważ przewijanie nie jest wykonywane przez zdarzenie keydown w języku JavaScript. Dlaczego nie możesz bezpośrednio przewijać dokumentu za pomocą manipulacji 'scrollTop'? – Amadan
można utworzyć jsfiddle? –