Erkennen mehrerer Tastendrücke gleichzeitig in JavaScript
In JavaScript kann die Feststellung, ob mehrere Tasten gleichzeitig gedrückt werden, durch die folgenden Schritte erreicht werden:
- Erstellen Sie ein JavaScript-Array namens „Karte“ oder Objekt.
-
Manipulieren Sie innerhalb der Keydown- und Keyup-Ereignis-Listener das Array „map“:
- Wenn eine Taste gedrückt wird (Keydown-Ereignis), legen Sie den entsprechenden Tastencode fest oder geben Sie den Schlüssel im Array auf „true“ ein.
- Wenn eine Taste losgelassen wird (Keyup-Ereignis), setzen Sie den entsprechenden Tastencode oder Schlüssel im Array auf „false.“
- Verwenden Sie das „map“-Array, um nach bestimmten Tastenkombinationen zu suchen, indem Sie es auswerten Werte.
Beispiel
// Create an array to track key presses
var map = {};
// Add event listeners for keydown and keyup events
document.addEventListener("keydown", function(e) {
map[e.keyCode] = true;
});
document.addEventListener("keyup", function(e) {
map[e.keyCode] = false;
});
// Check for key combinations using the map array
if (map[17] && map[16] && map[65]) {
console.log("Ctrl + Shift + A pressed");
}
Nach dem Login kopieren
Verwendung
- Dieses Skript initialisiert ein Kartenarray für Tastendrücke überwachen.
- Wenn der Benutzer die Taste „A“ drückt, wird die Das Element „map[65]“ ist auf „true“ gesetzt (17 für Strg, 16 für Umschalt, 65 für A): map = { 17: true, 16: true, 65: true }.
- If Wenn der Benutzer mehrere Tasten drückt, werden die entsprechenden Elemente im Array entsprechend festgelegt.
- Um bestimmte Tastenkombinationen zu erkennen, beziehen Sie sich auf die „if“-Bedingung im Skript, die sucht nach der Kombination „Strg-Umschalt-A“.
Wichtige Hinweise
- Veraltung von keyCode: Event.keyCode ist jetzt veraltet. Stattdessen sollten alternative Ansätze wie event.key verwendet werden.
- Überlegungen zur Ereignisbehandlung: Achten Sie auf den verwendeten Ereignisbehandlungsmechanismus (z. B. element.onkeydown vs. element.addEventListener), da diese unterschiedliche bieten Verhaltensweisen.
- Browser-Standardeinstellungen: Bestimmte Tastenkombinationen können Standard-Browseraktionen haben. Erwägen Sie die Verwendung von event.preventDefault() oder return false, um diese Aktionen zu verhindern.
- Seien Sie vorsichtig, wenn Sie Ereignishandler mit return oder e.preventDefault() beenden, da diese unterschiedliche Auswirkungen auf die Ereignisbehandlung und die Codeausführung haben.
- Für eine umfassendere Funktionalität können Sie eine Hilfsklasse erstellen oder die deklarative Programmierung für einen saubereren und besser verwaltbaren Ansatz nutzen.
Das obige ist der detaillierte Inhalt vonWie kann ich gleichzeitige Tastendrücke in JavaScript erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!