keyPress
enthält keine Pfeiltasten gedrückt wird - Geige Bestätigung: https://jsfiddle.net/12a25f46/
keyPress
event.which
gibt den ASCII-Zeichencode, der der Schlüssel erzeugt (zB Shift + A = 65) - was für Pfeiltasten keinen Sinn macht, da sie kein Zeichen generieren. So sind die Pfeiltasten in keyPress nicht enthalten.
keyUp
/keyDown
event.which
zeigt den keyCode der gedrückten Taste und enthält Pfeile und ob shift (etc) gedrückt wurde.
So Überprüfung nur keyPress
können Sie für Zahlen und% überprüfen und erlauben auch den Cursor mit den Pfeiltasten verschoben werden.
Getrennt Überprüfung für keyUp
(oder keyDown
) ermöglicht es Ihnen, eine beliebige Taste zu überprüfen, aber es wird nicht die gleichen Zahlen (zB% 53 + shift, nicht 37)
So gibt es keinen Konflikt.
Update: nach this question (das ist etwas ähnlich ...) könnte dies ein Problem in sein IE10. Geige oben getestet in Chrom und IE11, nicht IE10.
Ein anderer valid answer der zeigt keypress
funktioniert möglicherweise in einigen Browsern falsch.
Warum rollen Sie zurück? Ich habe deinen Beitrag verbessert! – nicael
tue das Ding, was dazu führt, meine Frage zu beantworten, ich bin nicht sying mein Code funktioniert nicht Bitte seien Sie auf dem richtigen Weg –
Das ist genau das, was ich tue. Ich habe Ihre Frage so bearbeitet, dass sie leichter zu lesen ist. – nicael