Heim >Web-Frontend >js-Tutorial >So erkennen Sie Pfeiltastendrücke in JavaScript: Warum onkeypress nicht funktioniert und die onkeydown-Lösung

So erkennen Sie Pfeiltastendrücke in JavaScript: Warum onkeypress nicht funktioniert und die onkeydown-Lösung

DDD
DDDOriginal
2024-11-16 18:37:03256Durchsuche

How to Detect Arrow Key Presses in JavaScript: Why onkeypress Doesn't Work and the onkeydown Solution

Erkennen von Pfeiltastendrücken in JavaScript: Eine umfassende Anleitung

Das Erkennen von Tastendrücken ist eine häufige Aufgabe in der Webentwicklung, insbesondere beim Erstellen interaktiver Steuerelemente. Während die meisten Tasten mit dem Onkeypress-Ereignis-Listener genau erkannt werden können, stellen Pfeiltasten eine besondere Herausforderung dar. In diesem Artikel wird untersucht, warum Pfeiltasten mit „onkeypress“ nicht erkannt werden können, und bietet eine einfache Lösung zum Erfassen von Pfeiltastendrücken in JavaScript.

Das Pfeiltasten-Dilemma

Wenn onkeypress zum Erkennen von Tastendrücken verwendet wird, funktioniert es einwandfrei für die meisten Schlüssel. Pfeiltasten (links, oben, rechts, unten) lösen jedoch nicht das Ereignis „onkeypress“ aus. Dies liegt daran, dass Browser die Pfeiltasten unterschiedlich verarbeiten und standardmäßig ein Scrollverhalten einleiten.

Lösung: Verwendung von onkeydown

Um das Drücken von Pfeiltasten zu erkennen, müssen Sie den Ereignis-Listener onkeydown anstelle von onkeypress verwenden. Das onkeydown-Ereignis wird immer dann ausgelöst, wenn eine Taste gedrückt wird, einschließlich der Pfeiltasten. Hier ist eine aktualisierte Version Ihres Codeausschnitts mit onkeydown:

function checkKey(e) {
    var event = window.event ? window.event : e;
    console.log(event.keyCode);
}

Pfeiltasten-Tastencodes

Um bestimmte Pfeiltasten zu identifizieren, können Sie die entsprechenden Tastencodes verwenden:

  • Links: 37
  • Oben: 38
  • Rechts: 39
  • Nach unten: 40

Durch den Vergleich des event.keyCode mit diesen Werten können Sie leicht feststellen, welche Pfeiltaste gedrückt wurde.

Das obige ist der detaillierte Inhalt vonSo erkennen Sie Pfeiltastendrücke in JavaScript: Warum onkeypress nicht funktioniert und die onkeydown-Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn