439 Stimmen

Bindung von Pfeiltasten in JS/jQuery

Wie gehe ich über die Bindung einer Funktion auf die linke und rechte Pfeiltasten in Javascript und / oder jQuery? Ich schaute auf die js-Hotkey-Plugin für jQuery (wickelt die eingebaute Funktion binden, um ein Argument hinzufügen, um bestimmte Tasten zu erkennen), aber es scheint nicht Pfeiltasten zu unterstützen.

4voto

Vince Verhoeven Punkte 1543

Beispiel für reine js mit Rechts- oder Linksdrehung

        window.addEventListener('keydown', function (e) {
            // go to the right
            if (e.keyCode == 39) {

            }
            // go to the left
            if (e.keyCode == 37) {

            }
        });

2voto

suhailvs Punkte 17111

Sie können prüfen, ob ein arrow key wird von gedrückt:

$(document).keydown(function(e){
    if (e.keyCode > 36 && e.keyCode < 41) { 
       alert( "arrowkey pressed" );
       return false;
    }
});

1voto

小弟调调 Punkte 1182

Eine robuste Javascript-Bibliothek zur Erfassung von Tastatureingaben und eingegebenen Tastenkombinationen. Sie hat keine Abhängigkeiten.

http://jaywcjlove.github.io/hotkeys/

hotkeys('right,left,up,down', function(e, handler){
    switch(handler.key){
        case "right":console.log('right');break
        case "left":console.log('left');break
        case "up":console.log('up');break
        case "down":console.log('down');break
    }
});

0voto

phoenixs Punkte 1

Pfeil verhindern nur für ein beliebiges Objekt verfügbar, sonst SELECT, also eigentlich habe ich es nicht auf einem anderen Objekt LOL. aber es kann Pfeil-Ereignis auf Seite und Eingabe-Typ zu stoppen.

Ich habe bereits versucht, Pfeil links und rechts zu blockieren, um den Wert des SELECT-Objekts mit "e.preventDefault()" oder "return false" auf "kepress" "keydown" und "keyup" Ereignis zu ändern, aber es immer noch den Objektwert ändern. aber das Ereignis immer noch sagen Sie, dass Pfeil gedrückt wurde.

0voto

Scott Punkte 669

Ich kam hier auf der Suche nach einem einfachen Weg, damit der Benutzer, wenn er auf eine Eingabe fokussiert ist, die Pfeiltasten verwenden kann, um eine numerische Eingabe +1 oder -1 zu machen. Ich habe nie eine gute Antwort gefunden, sondern machte den folgenden Code, der zu arbeiten scheint groß - machen diese Website-weite jetzt.

$("input").bind('keydown', function (e) {
    if(e.keyCode == 40 && $.isNumeric($(this).val()) ) {
        $(this).val(parseFloat($(this).val())-1.0);
    } else if(e.keyCode == 38  && $.isNumeric($(this).val()) ) { 
        $(this).val(parseFloat($(this).val())+1.0);
    }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X