jaki jest kluczowy kod dla shift + tab?

83

Pracuję nad mapowaniem klawiszy. Problem polega na tym, że kiedy naciskam przycisk TAB w dół, przechodzi do następnego pola wprowadzania.

TAB ma klawisz 9, a
DOWN ma klawisz 40

Ale jaki jest kod klucza JavaScript, aby przejść do poprzedniego pola wejściowego (SHIFT + TAB)?

Chcę przejść do następnego łącza; jaki jest kod lub kod dla poprzedniego linku?

Proszę pomóż. Dzięki.

rajesh
źródło
1
Czy kiedykolwiek myślałeś, że Google zabrał ich tutaj? (tak jak ja)
Jesse Roper

Odpowiedzi:

173

Nie ma „keycode”, jest to osobna właściwość obiektu zdarzenia , na przykład:

if(event.shiftKey && event.keyCode == 9) { 
  //shift was down when tab was pressed
}
Nick Craver
źródło
to, czego chcę, to jeśli kliknę przycisk w górę, powinien przejść do poprzednio wybranej zakładki, więc proszę o sugestię. tahnks
rajesh
@rajesh - Czy możesz trochę wyjaśnić? Twoje pytanie prosi o ich kod do shift + tab, ale chcesz wykryć klawisz w górę?
Nick Craver
tak, czego chcę, jeśli kliknę przycisk p, musi przejść do górnego pola, które ma funkcję, taką jak shift + tab. Dlatego chcę tego samego
rajesh
3
JEST klucz do wydarzenia keydown - Shift + Tab keyCode = 16
Peter Davis
11
Peter, kod klucza 16 jest przeznaczony dla klawisza Shift.
dkubb
15

e.keyCodeod jakiegoś czasu jest przestarzały . Zamiast tego użyj „e.key” KeyboardEvent.key .

Stosowanie:

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

Przykład:

function clicked(e) {
    if (e.shiftKey && e.key === 'Tab') {
        // Do whatever, like e.target.previousElementSibling.focus();
    }
}
nieco mniej
źródło
1
najlepsza odpowiedź. faktyczny przypadek użycia. Szczególnie dla kątowych. jeśli używasz obecnie kodów klawiszy, robisz to źle.
tatsu,
0

w moim przypadku GWT

if(event.isShiftKeyDown() && event.getNativeKeyCode() == KeyCodes.KEY_TAB){
    //Do Something
}
touchchandra
źródło