Willibergi
Mitglied
Moin,
ich habe eine onkeydown-Funktion und möchte diese aber nur ein einziges Mal ausführen.
onkeydown-Funktionen werden ja ausgeführt, solange eine Taste gedrückt wird.
Ich weiß, dass es die JQuery-Funktion .one() gibt, die führt die Funktion aber nur dauerhaft während des ersten Tastendrucks aus - ich möchte aber, dass die Funktion einmal ausgeführt wird, egal, wie lange die Taste gedrückt wird.
Hier erst mal mein Quellcode:
window.addEventListener('keydown', function(e){
//Blabla
});
Folgendermaßen funktioniert es nicht (aus welchen Gründen auch immer):
var first = true;
windows.addEventListener('keydown', function(e){
//Blabla
first = false;
});
Ich möchte also, dass die Funktion während des Tastendrucks ein einziges Mal ausgeführt wird und dann nicht mehr. Ich möchte aber die Funktion später wieder ausführen können - am Besten wäre es, wenn man den EventListener nach der ersten Ausführung der Funktion deaktivieren und bei Bedarf wieder aktivieren könnte.
LG Willibergi
ich habe eine onkeydown-Funktion und möchte diese aber nur ein einziges Mal ausführen.
onkeydown-Funktionen werden ja ausgeführt, solange eine Taste gedrückt wird.
Ich weiß, dass es die JQuery-Funktion .one() gibt, die führt die Funktion aber nur dauerhaft während des ersten Tastendrucks aus - ich möchte aber, dass die Funktion einmal ausgeführt wird, egal, wie lange die Taste gedrückt wird.
Hier erst mal mein Quellcode:
window.addEventListener('keydown', function(e){
//Blabla
});
Folgendermaßen funktioniert es nicht (aus welchen Gründen auch immer):
var first = true;
windows.addEventListener('keydown', function(e){
//Blabla
first = false;
});
Ich möchte also, dass die Funktion während des Tastendrucks ein einziges Mal ausgeführt wird und dann nicht mehr. Ich möchte aber die Funktion später wieder ausführen können - am Besten wäre es, wenn man den EventListener nach der ersten Ausführung der Funktion deaktivieren und bei Bedarf wieder aktivieren könnte.
LG Willibergi