onKeyPress events
Heinrich
- javascript
0 Stefano Albrecht1 molily0 Heinrich
0 Gernot Back
Hallo,
Gibt's eine Möglichkeit im Browser die Zeitraum zwischen Tastedrücken zu vergrößern? Es geht mir um eine Pause nach dem Tastedrucken (z.B. 5 Sekunden). Während dieser Pause wäre es keine Reaktion auf die nächsten Tasteduck.
Heinrich
Hallo Heinrich ;~)
Du kannst hierbei verschiedene Ansätze verfolgen.
Z.B. könntest Du mit einer internen Zeitschleife arbeiten.
Den eventauslösenden Button kannst Du für die Dauer der Schleife als disabled setzen.
Mit freundlichen Grüßen
Stefano Albrecht
Hallo,
Gibt's eine Möglichkeit im Browser die Zeitraum zwischen Tastedrücken zu vergrößern?
Nein, wenn der Benutzer zwei Tasten schnell hintereinander drückt, werden auch zwei keypress-Ereignisse erzeugt.
Es geht mir um eine Pause nach dem Tastedrucken (z.B. 5 Sekunden). Während dieser Pause wäre es keine Reaktion auf die nächsten Tasteduck.
Dann baue dir eine Logik, die nach einem Tastendruck erst wieder nach einer 5-sekündigen Wartezeit Tastendrücke verarbeitet. Beispiel:
var auszeit = false;
[Element].onkeypress = handler;
function handler (e) {
// Wenn gerade Auszeit ist, breche die Funktion ab.
if (auszeit)
return;
// ... Behandle Tastendruck ...
// Starte Auszeit
auszeit_start();
// Nach 5 Sekunden beende Auszeit
window.setTimeout(auszeit_ende, 5000);
}
function auszeit_start () {
auszeit = true;
}
function auszeit_ende () {
auszeit = false;
}
Mathias
Danke Mathias,
hatte ich noch eine Hoffnung, dass Browser die Werkzeuge hat. In dem Fall, nehme ich deine Idee.
Hi
Hallo Heinrich,
Gibt's eine Möglichkeit im Browser die Zeitraum zwischen Tastedrücken zu vergrößern? Es geht mir um eine Pause nach dem Tastedrucken (z.B. 5 Sekunden). Während dieser Pause wäre es keine Reaktion auf die nächsten Tasteduck.
Du könntest eine Flagge auf false und mittels window.setTimeout() wieder auf true setzen und die Ausführung einer Reaktion auf das Keypress-Event, das als solches natürlich weiterhin ständig überwacht würde, daran koppeln.
Gruß Gernot