OS上的AS3键盘事件行为不同

时间:2012-09-27 10:01:13

标签: actionscript-3 keyboard

我在KeyboardEvent上使用TextArea,我尝试在>/字符样式按键上执行某些操作。我的问题是我没有一种统一的方法来捕捉那种char。

例如,对于按下的>, 在Mac上:

String.fromCharCode(event.charCode); // -> ">"
trace(event.keyCode);                // -> 62
Windows上的

String.fromCharCode(event.charCode); // -> "<"
trace(event.keyCode);                // -> 226

我在其他网站上发现了这个:

  

不同的操作系统与KeyboardEvents的行为不同,因为闪存只是插入操作系统现有的键盘界面。注意键盘在Windows,Mac和Linux之间的行为方式不同。

那么我可以使用哪种最佳实践来保持这些用例的一致性?

1 个答案:

答案 0 :(得分:0)

你应该使用charCode,因为它会更准确,因为它使用charset(支持ASCII的默认UTF-8),keycode是来自键盘的代码,这意味着你可以对相同的密钥使用不同的代码,例如从kebord的“main”部分减去而从数字键盘减去将具有不同的代码。

Understanding the keyCode and charCode properties