Ich versuche einen Weg zu finden, einen Tastendruck zu simulieren.Wie kann ich einen Tastendruck in JavaScript simulieren?
Zum Beispiel, wenn Funktion gestartet wird, sollte die Taste "Pfeil nach unten" gedrückt werden, und so sollte die Webseite leicht gescrollt werden.
Ich bin nur in Chrome interessiert, und sowohl jQuery oder plain JS wird angemessen sein. (Plain JS wird mehr vorzuziehen sein).
, dass eines der Code-Beispiele, das ich versucht:
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?
Ich suchte und fand die folgenden verwandten Fragen, aber die Lösungen nicht funktioniert für mich:
- 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
Mit anderen Worten
Mit AutoHotkey, können Sie einfach so etwas wie machen:
Down::
Send, {Up}
Wenn Sie dann die Pfeiltaste Down
drücken, wird Up
ausgelöst. Ich möchte es nur mit JS implementieren.
Das hört sich vielleicht albern an, aber haben Sie 'jQuery' in Ihr' HTML' importiert? – AMACB
AFAIK, das ein Keydown-Ereignis auslöst, wird nur alle Keydown-Handler verarbeiten lassen. Sie können den Browser nicht wirklich scrollen lassen, da das Scrollen nicht durch ein JavaScript-Keydown-Ereignis erfolgt. Warum können Sie das Dokument nicht direkt scrollen, indem Sie 'scrollTop' verwenden? – Amadan
können Sie eine jfiddle erstellen? –