Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript字符代码-键代码0_Javascript_Validation_Keycode - Fatal编程技术网

Javascript字符代码-键代码0

Javascript字符代码-键代码0,javascript,validation,keycode,Javascript,Validation,Keycode,我在thymeleaf HTML中有一个输入字段,在javascript中有数字验证,根据我的研究,有几种方法,如何做到这一点 其中一项: $document.readyfunction{ $quantity.keypress功能e{ 如果e.which!=8&&e.which!=0&&e.which57{ $errmsg.htmlDigits Only.show.fadeOutslow; 返回false; } }; }; 这意味着JS引擎无法识别密钥,因此此代码确保密钥是可识别的 无法识别密

我在thymeleaf HTML中有一个输入字段,在javascript中有数字验证,根据我的研究,有几种方法,如何做到这一点

其中一项:

$document.readyfunction{ $quantity.keypress功能e{ 如果e.which!=8&&e.which!=0&&e.which<48 | e.which>57{ $errmsg.htmlDigits Only.show.fadeOutslow; 返回false; } }; };
这意味着JS引擎无法识别密钥,因此此代码确保密钥是可识别的

无法识别密钥的实现使用密钥值0

来源:

在按键事件的情况下,对于大多数不产生字符的按键,值为0。存在异常,例如退格。此外,实际代码取决于硬件实现

当e.which为零时,代码可能会假定没有生成可打印字符,因此没有理由阻止它。这对于箭头键和软键尤其有用:您需要允许用户使用左右键移动插入符号,可能还需要使用Shift或Ctrl键。您也不希望阻止用户使用F5刷新页面,或使用Del删除字符,或使用Tab移动到下一个输入字段。所有这些键都带有等于0的e

然而,剧本并不完美。例如,它不允许用户使用剪贴板处理快捷方式,例如Ctrl+C


一般来说,不建议像那样阻止输入键,因为您不希望用户认为他们的键盘卡住了。更好的方法是允许键呈现相应的字符,但仅通过视觉线索指示输入无效。

您是否尝试查看添加该输入的提交详细信息?代码只是从web复制粘贴的。没有关于0键代码的详细信息,只有这个处理输入验证的小脚本。没关系。我只是对0感兴趣。已过时,请不要使用它。@Teemu,不确定这是否适用于与OP中使用的同名的jQuery事件属性。甚至还建议观看event.which进行键盘键输入。。你有关于这个的更多信息吗?@trincot实际上没有,我只是没有注意到,这里使用的是jQuery事件属性。虽然查看了源代码,但jQuery 3.2.1似乎返回event.charCode或eventKeyCode(如果event.charCode不可用)。所有这些属性都已弃用/过时。。。