Sto scrivendo un test di unità nelle mie app Web e voglio attivare automaticamente un Immettere l'evento premuto dalla mia pagina dopo che per esempio è stato fatto clic su un pulsante di download su file di testo. Come posso farlo in jQuery o Javascript?Come posso attivare automaticamente un evento di pressione tasto invio dopo che è stata eseguita una determinata azione?
risposta
Creare una variabile che ci dice se l'utente ha fatto clic sul pulsante.
var clicked = false;
Aggiungi un listener di eventi per il pulsante, in modo che quando l'utente fa clic su di essa, la variabile
clicked
diventeràtrue
.myButton.addEventListener('click', function(){ clicked = true; });
aggiungere un listener
keypress
evento:document.addEventListener('keypress', function(e) { // `e` is the event });
All'interno che listener di eventi, controllare se l'utente ha cliccato in precedenza
if(clicked) { // ... }
Se (s) ha fatto, controllare la tasto premuto. di inserire il codice chiave è 13.
var keynum = e.keyCode||e.which; if(keynum == 13) { // ... }
Se il tasto premuto è stato entrare, utilizzare
clicked = false;
In caso contrario, una volta che l'utente fa clic con il pulsante premuto e entrare, non sarebbe necessario cliccare il pulsante di nuovo.
Dopo aver eseguito il codice. Ad esempio, chiamerà la funzione
f
dopo 2 secondi.setTimeout(f, 2000);
demo dal vivo
var clicked = false;
document.querySelector('#btn').addEventListener('click', function(){
clicked = true;
snippet.log("You clicked the button. `clicked` is now `true`");
});
document.addEventListener('keypress', function(e) {
if(clicked) {
var keynum = e.keyCode || e.which;
if(keynum == 13) {
clicked = false;
snippet.log("`clicked` is now `false`. Waiting 2 seconds...");
setTimeout(f, 2000);
}
}
});
function f() {
snippet.log("Function `f` executed successfully!");
}
#btn {
border: 3px solid red;
cursor: pointer;
}
<div id="btn">Click me, and then press enter.</div>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --><script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
malato prova questo fuori. puoi spiegare cosa sta succedendo in quel codice. Non sono un esperto di script java, quindi non conosco window.clicked o window.onclick. –
è possibile aspettare un certo periodo di tempo? voglio attivarlo dopo 2 secondi perché sto aspettando la finestra di download del file. :) –
fantastico. questo è quello che sto cercando. :) Grazie molto. –
Se si sta parlando di entrare automaticamente un Invio chiave per attivare un evento submit
, è possibile utilizzare questo invece:
$("#formID").submit();
per attivare questo evento dopo un tasto è stato premuto, tenta questo:
$("#buttonID").click(function() {
$("#formID").submit(); // submits form
});
voglio attivarlo dopo che un pulsante è stato fatto clic. e sto usando il collegamento ipertestuale il tag BTW. –
$("#txtfield").keyup(function(e) {
if(e.keyCode == 13) {
$("#submit").submit();
}
});
voglio farlo dopo aver fatto clic su un collegamento.:) –
Se ricevo la tua domanda giusta, questo è quello che stai cercando per
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).keydown(function(event){
if(event.keyCode == 13){
alert("keypressed");
}
});
function clickevent()
{
var e = $.Event("keydown");
e.which = 13;
e.keyCode = 13;
$(document).trigger(e);
}
</script>
</head>
<body id="thebody">
<input type="button" onclick="clickevent()" value="click me first">
</body>
</html>
Lo stesso è possibile tramite JavaScript? –
Questo è meglio utilizzato a scopo di test. – lft93ryt
- 1. Come attivare la pressione di tasto invio
- 2. Tasto funzione tastiera per invio tasto evento
- 3. Come posso simulare una pressione di un tasto in JavaScript?
- 4. DataList e tasto Invio evento
- 5. jquery pressione di un tasto() evento ottiene testo
- 6. Come cancellare una funzione rimossa dopo che è stata chiamata e prima che venga eseguita?
- 7. Invio di notifiche locali dopo che l'app è stata interrotta
- 8. Come verificare che una funzione sia stata chiamata dopo che è stato attivato un evento?
- 9. Come mai una stampa viene eseguita dopo che una condizione vera è stata testata?
- 10. Aggiunta di una nuova tabella al database dopo che l'app è stata eseguita una volta
- 11. Posso rendere una variabile finale dopo che è stata dichiarata?
- 12. Espresso - Come posso verificare se un'attività viene avviata dopo aver eseguito una determinata azione?
- 13. Come rilevare la pressione del tasto "Invio" nel reagente?
- 14. Determina dove è stata eseguita una funzione?
- 15. L'ultima volta che è stata eseguita una stored procedure
- 16. Come posso attivare un evento dopo che il caricamento lazy ha caricato un'immagine?
- 17. Configura una richiamata dopo che una transazione è stata commessa
- 18. WPF: un TextBox che ha un evento che si attiva quando si preme il tasto Invio
- 19. Come convertire un tasto Invio Premere un tasto Tasto Premere per le pagine Web
- 20. VB Simula una pressione di tasto
- 21. completamento automatico di Firefox 'invio' pressione tasto su attivazione automatica invio nella casella di testo
- 22. Come attivare l'evento del tasto di tabulazione?
- 23. Come ottenere il valore della pressione di un tasto da un oggetto evento in jQuery
- 24. Metodo Python per la lettura della pressione di un tasto?
- 25. Come si esegue il rollback di una transazione che è già stata eseguita?
- 26. Simulazione di una pressione di tasto di tabulazione usando JavaScript
- 27. Attivazione di un evento della tastiera premendo un tasto senza premere il tasto dalla tastiera
- 28. Come attivare un evento tattile?
- 29. il tasto shift viene semplicemente ignorato dopo che un altro tasto è stato premuto, povero tasto shift. Come posso rilevare quando viene rilasciato?
- 30. Posso attivare un invio di modulo da un controller?
è necessario attivare il tasto INVIO premuto dopo l'evento clic del mouse? – themis