数字键盘的keyCode值?

数字键盘上的数字与键盘顶部的数字有不同的键码吗?

这里是一些应该在keyup事件上运行的JavaScript,但是只有当keycode在48和57之间时才行。这里是代码:

$('#rollNum').keyup(function(e) { if(e.keyCode >= 48 && e.keyCode <= 57) { //0-9 only var max = 15; var textLen = $(this).val().length; var textLeft = max - textLen; . . . 

我的问题是这个代码只能响应在键盘顶部input的数字而运行,但不响应从数字键盘input的数字。

我想答案一定是数字键盘有不同的keyCode值,但我怎么知道这些是什么?

键码是不同的。 键盘0-9是键码96105

你的if语句应该是:

 if ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105)) { // 0-9 only } 

这里是关键代码的参考指南

你可以简单地运行

 $(document).keyup(function(e) { console.log(e.keyCode); }); 

在浏览器控制台中查看按键的代码。

或者你可以在这里find关键代码: https : //developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Numpad_keys

keyCode对于数字小键盘上的数字和键盘上的数字是不同的。

keyCodes:

键盘上的数字 (0 – 9):48 – 57
数字小键盘上的数字 (0 – 9):96 – 105

JavaScript条件:

 if((e.keyCode >= 48 && e.keyCode <=57) || (e.keyCode >= 96 && e.keyCode <=105)) { // entered key is a number } 

所有键码参考(带演示): http : //www.codeforeach.com/javascript/keycode-for-each-key-and-usage-with-demo

你可以使用它来轻松找出keyCodes:

 $(document).keyup(function(e) { // Displays the keycode of the last pressed key in the body $(document.body).html(e.keyCode); }); 

http://jsfiddle.net/vecvc4fr/

Interesting Posts