数字键盘的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是键码96
至105
你的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); });