2012-09-27 59 views
2

我在TextArea上使用了KeyboardEvent,我尝试在>,/ char样式按键上执行一些操作。我的问题是,我没有一个同质的方法来捕捉这些字符。AS3在操作系统上的键盘事件行为不同

例如,对于一个>压制, 在Mac上:

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

在Windows上:

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

我发现这个在其它的网站:

不同操作系统的行为方式与KeyboardEvents,因为闪光只是插入操作系统已经存在的键盘接口。注意键盘在Windows,Mac和Linux之间的作用不同。

那么最好的做法,我可以用来为那些使用情况是否一致?

+1

嗨,你已经证明> Mac和<关于窗口 - 它肯定会在两个平台上的不同呢。此外,您可能希望聆听对文本字段的更改,而不仅仅是键盘事件 - 这样您就会知道用户在文本字段中输入了一些内容 –

+0

感谢 “您可能想要听取文本字段的更改而不是键盘事件“ 当然......但是带有charCode的WTF?......并不像预期的那样工作...... – adioss

+0

你是说:在mac上>给出与windows不同的charCode?从你的文章中你已经使用过> for mac和

回答

0

您应该使用charCode,因为它使用charset(默认支持ASCII的UTF-8)会更加准确,keycode是键盘上的代码,意思是您可以对同一个键有不同的代码。从kebord的“main”部分减去,并从数字键盘减去将会有不同的代码。

Understanding the keyCode and charCode properties

相关问题