Was ist der Schlüsselcode für Shift + Tab?

82

Ich arbeite an der Schlüsselzuordnung. Das Problem ist, dass beim Drücken der TAB-Taste zum nächsten Eingabefeld navigiert wird.

TAB hat die Taste 9 und
DOWN hat die Taste 40

Wie lautet der JavaScript-Schlüsselcode, um zum vorherigen Eingabefeld (UMSCHALT + TAB) zu gelangen?

Ich möchte zum nächsten Link gehen. Was ist der Schlüsselcode oder Code für den vorherigen Link?

Bitte helfen Sie. Vielen Dank.

Rajesh
quelle
1
Hast du jemals gedacht, dass Google sie hierher gebracht hat? (wie ich)
Jesse Roper

Antworten:

172

Es gibt keinen "Schlüsselcode", es ist eine separate Eigenschaft für das Ereignisobjekt , wie folgt:

if(event.shiftKey && event.keyCode == 9) { 
  //shift was down when tab was pressed
}
Nick Craver
quelle
Was ich will ist, wenn ich auf die Aufwärts-Taste klicke, sollte es zur zuvor ausgewählten Registerkarte gehen, also bitte einen Vorschlag machen .. tahnks
rajesh
@rajesh - Kannst du ein bisschen klarstellen? In Ihrer Frage werden Sie nach dem Schlüsselcode für Umschalt + Tab gefragt, aber Sie möchten die Aufwärts-Taste erkennen?
Nick Craver
ya was ich will, wenn ich auf die Schaltfläche p klicke, muss es in das obere Feld verschoben werden, das eine Funktion wie Umschalt + Tab hat. Daher das gleiche, was ich will
Rajesh
3
Es gibt einen Schlüsselcode für das Keydown-Ereignis - Shift + Tab keyCode = 16
Peter Davis
11
Peter, der keyCode 16 ist für die Umschalttaste.
dkubb
13

e.keyCodeist seit einiger Zeit veraltet . Verwenden Sie stattdessen "e.key" KeyboardEvent.key .

Verwendung:

e.shiftKey && e.key === 'Tab'

Beispiel:

function clicked(e) {
    if (e.shiftKey && e.key === 'Tab') {
        // Do whatever, like e.target.previousElementSibling.focus();
    }
}
ein bisschen weniger
quelle
1
beste Antwort. tatsächlich funktionierender Anwendungsfall. Besonders für eckige. Wenn Sie heutzutage Schlüsselcodes verwenden, machen Sie es falsch.
Tatsu
0

in meinem GWT-Fall

if(event.isShiftKeyDown() && event.getNativeKeyCode() == KeyCodes.KEY_TAB){
    //Do Something
}
Touchchandra
quelle