159 Stimmen

Wie kann man herausfinden, welche Zeichentaste gedrückt wurde?

Ich möchte gerne herausfinden, welche Zeichentaste auf eine browserübergreifende Weise in reinem Javascript gedrückt wird.

2 Stimmen

Sind nicht alle diese Antworten auf die Frage "welcher Schlüssel fue gedrückt?" Was ist, wenn der Javascript-Code während der Ausführung wissen will, ob eine Taste auf der Tastatur gerade gedrückt ist?

5 Stimmen

event.key gibt Ihnen direkt das gepresste Zeichen

2voto

kki3908050 Punkte 165
**check this out** 
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $(document).keypress(function(e)
        {

            var keynum;
            if(window.event)
            { // IE                 
                keynum = e.keyCode;
            }
                else if(e.which)
                    { 
                    // Netscape/Firefox/Opera                   
                    keynum = e.which;
                    }
                    alert(String.fromCharCode(keynum));
                    var unicode=e.keyCode? e.keyCode : e.charCode;
                    alert(unicode);
        });
});  

</script>
</head>
<body>

<input type="text"></input>
</body>
</html>

1 Stimmen

Ist dies nicht eine fast exakte Kopie der Antwort von @Coyod aus dem Jahr 2009?

1voto

dipole_moment Punkte 4156

Eine meiner Lieblingsbibliotheken, die dies auf anspruchsvolle Art und Weise ermöglicht, ist Mausefalle .

Es ist mit einer Vielzahl von Plugins ausgestattet, darunter das record Plugin, das eine Folge von gedrückten Tasten erkennen kann.

<script>
    function recordSequence() {
        Mousetrap.record(function(sequence) {
            // sequence is an array like ['ctrl+k', 'c']
            alert('You pressed: ' + sequence.join(' '));
        });
    }
</script>

<button onclick="recordSequence()">Record</button>

0 Stimmen

Ungefangener TypeError: Mousetrap.record ist keine Funktion bei recordSequence (****.html:12) bei HTMLButtonElement.onclick (****.html:20)

-2voto

gomozor Punkte 97
document.onkeypress = function(event){
    alert(event.key)
}

1 Stimmen

Zwei negative Stimmen, aber jetzt eine Erklärung, warum es negativ abgestimmt wurde. Ich denke, es hilft, wenn Sie kommentieren, was das Problem mit dieser Antwort ist. danke

0 Stimmen

Einfach zu wählen, ich schätze, Sie sollten dieses Snippet lieber selbst ausprobieren :) der Titel ist übrigens ziemlich verbreitet

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