答:具体请见以下规则:如果系统是Windows,且所按按键的原生键码表示该按键是A-Z或0-9,请使用键码。如果系统是Mac,按下的键的本地键码表示该键是0-9,则使用键码。如果您按键输入ASCII字母或数字而不修改按键,请使用keycode。
回答:不同角色共享键码。键盘上有很多键同时对应两个字符。比如,“,”和。“都在一个键上,数字键在那里(1!2@,3#,4$,5%,…)都是对应多个字符的键。如果要输入两个字符,往往需要按住Shift键,比如字符“!@ # $% * () . "和其他角色。键码值跟随键盘,而不是字符内容。也就是说,当我们输入“和”等字符时,返回的keyCode值是相同的。我们需要判断用户是否按了Shift键才能知道输入的是哪个字符。这个很啰嗦。然后输入字符“.”在页面中,您会看到输出的keyCode值都是相同的190,如下面的截图所示:
A:例如,如果当前键盘布局是俄语,则‘句号’和‘斜杠’键的键码都将是190 (KeyEvent。多姆_ VK _句号)。如果您需要区分这些键,但又不想及时支持所有的键盘布局,那么您可能应该使用KeyboardEvent.code
回答:同一个键,但键码不同。比如整个键盘按住Shift键可以输出其他内容,比如下图所示的数字键盘。例如,十进制字符“.”右下角有Del键的能力。此时按这个键的键码值和Shift按这个键的键码值是不一样的。然后你会发现按“.”键会返回键码是110,加上Shift键后,返回的键变成46。这个蛋疼,因为上面的同一个键返回同一个键码,结果是同一个键返回不同的键码。3.同一个字符和键码不一样。移动“.”要返回的键码是直接按delete键的键码值,给人的感觉是只要最后的行为或者字符输出是一样的,键码值就应该是一样的。其实并不是这样的。