Ich führe ein Javascript, das eine Schleife verarbeitet. Jeder Zyklus verarbeitet Daten eines Elements von einem Array. Dies kann je nach Anzahl der Array-Elemente sehr lange dauern. Der Benutzer sollte diese Schleife durch Drücken der ESC-Taste unterbrechen/stoppen können. Soweit ich JS kenne, würde jedes Ereignis, wie z. B. Tastendruck, nach dem Beenden des aktuellen Skripts verarbeitet werden. Wie kann ich das trotzdem umsetzen?Wie javascript auf keypress (d. H. ESC-Taste) zu stoppen
Antwort
Diese Frage wurde bereits beantwortet: How to detect escape key press with JavaScript or jQuery?
und hier: Which keycode for escape key with jQuery
Beide Antworten jQuery verwenden.
falls sie eine reine js Antwort hinwollen:
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.keyCode == 27) {
alert("Escape");
}
};
Wenn Sie denken, dass eine Frage ein Duplikat ist, kennzeichnen Sie sie bitte als solche - geben Sie keine neue Antwort ein. Dies ist jedoch kein Duplikat, da das OP hier beim Drücken der Taste aus einer Schleife ausbrechen möchte. –
Ich stimme James zu. – gba
- 1. Wie zu lesen .rej-Dateien, d. H.
- 2. Javascript Eingabeaufforderung für Passwort (d. H. *******)
- 3. Javascript Countdown von d: h: m: s
- 4. Wie generiert man einen vierstelligen Code (d. H. 0001) Javascript
- 5. Wie Eingabe in UITextField zu verifizieren (d. H. Numerische Eingabe)
- 6. JavaScript: Veranstaltungen keypress
- 7. Javascript/jQuery Keypress Protokollierung
- 8. KeyPress und keyup in Javascript
- 9. Javascript Trigger auf "KeyPress" und "Einfügen"
- 10. Problem KeyPress Javascript-Funktion
- 11. curl -X POST -H 'Inhaltstyp: application/json' -d zu PHP
- 12. Cocoa: AVAsset aus Rohdaten (d. H. NSData)
- 13. Wie bekomme ich einen Iframe auf volle Breite zu besetzen (d. H. Display wie ein div)
- 14. Meine Website funktioniert nicht in d. H.
- 15. Behandelt File.AppendAllText Kollisionen (d. H. Mehrbenutzer-Parallelität)?
- 16. WPF Radiale Progressbar/Meter (d. H. Batteriemessgerät)
- 17. HIVE - date_format (Ihre_Datum_Spalte, '% Y-% m-% d% H')
- 18. Android programmgesteuert Layout (d. H. Ohne XML)
- 19. Wie erhält man die Bildschirmgröße (d. H. In Zoll)?
- 20. Javascript wie Intervallzeit einstellen zu stoppen
- 21. Wie funktioniert die Rückwärts-Pipeline (d. H. "<|") Wirklich?
- 22. In Eingabeaufforderung einfügen (d. H. Wie auf die Eingabeaufforderung fokussiert wird)? (Chrome Erweiterung)
- 23. Konvertiere String Y.m.d H: i: s zu Zeitstempel Y-m-d H: i: s in PHP
- 24. .keypress auf einem DIV-Tag?
- 25. Javascript keypress Ereignis funktioniert nicht in Firefox
- 26. Wie kann ich einen gefüllten Bogen zeichnen, d. H. Regenbogen?
- 27. Wie kann ich ein UIScrollView zurücksetzen (d. H. Zoomen)?
- 28. Wie Knoten Platzierung in Graphviz zu steuern (d. H. Kantenübergänge zu vermeiden)
- 29. Stop NSRunLoop auf Keypress
- 30. wie vim zu stoppen Javascript Objektschlüssel zu Spalte bewegt 0
Es klingt wie Sie einen Entwickler mieten müssen. Wenn Sie Code haben, mit dem Sie versuchen, Ihr eigenes Problem zu lösen, warum teilen Sie uns nicht mit [was Sie versucht haben] (http://whathaveyoutried.com)? Ansonsten ist diese Frage viel zu weit gefasst und sollte als solche geschlossen werden. – zzzzBov
Sie können einen Event-Listener erstellen, der nach .keydown() sucht, und dann prüfen, ob der ASCII-Code für das Keydown 27 (der ASCII-Code für ESC) ist. – narruc
Haben Sie einen Rat von der [Antwort auf Ihre vorherige Frage] genommen? //stackoverflow.com/a/35484251/791010)? Wenn Sie Ihre Schleife bereits in Batches aufgeteilt haben, sollte dies ziemlich einfach sein. Wenn nicht, müssen Sie das zuerst noch tun. –