Sto cercando di trovare un modo per simulare un keypress.Come posso simulare una pressione di un tasto in JavaScript?
Ad esempio, quando viene avviata la funzione, il tasto "Freccia in basso" deve essere premuto, quindi la pagina Web deve essere leggermente spostata.
Sono interessato solo a Chrome, e sia jQuery che JS semplice saranno appropriati. (Plain JS sarà più preferibile).
Questo è uno degli esempi di codice che ho provato:
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?
Ho cercato e trovato le seguenti domande correlate, ma le soluzioni non ha funzionato per me:
- 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
In altre parole
Utilizzando AutoHotkey, si può facilmente fare qualcosa di simile:
Down::
Send, {Up}
Quindi, se si preme il tasto di direzione Down
, verrà attivato Up
. Voglio solo implementarlo con JS.
Questo potrebbe sembrare sciocco, ma hai importato 'jQuery' nel tuo' HTML'? – AMACB
L'attivazione di un evento keydown da parte di AFAIK comporterà l'elaborazione di qualsiasi gestore di keydown. Non è possibile far scorrere il browser, poiché lo scorrimento non viene eseguito da un evento keydown JavaScript. Perché non puoi scorrere il documento direttamente usando la manipolazione 'scrollTop'? – Amadan
puoi creare un jsfiddle? –