我无法在KeyboardEvent中使用charCode或keyCode来查找按下的字符,因为即使我更改了键盘布局,charCode和keyCode也不会改变(如果按相同的键)。
那么,如何根据当前的键盘布局找到压紧的字符?
我已经找到了this question,但该文件说的是什么:
charCode属性是数字 当前该键的值 字符集(默认字符 set是UTF-8,支持ASCII)。
不正确。
编辑:我正在使用Flex 4。
答案 0 :(得分:3)
我找到了解决方案。
我们可以收听TextEvent。此事件不仅会调度到文本组件,还会调度所有实现UIComponent的聚焦组件。
例如:
package champjss
{
import flash.events.TextEvent;
import mx.core.UIComponent;
public class EditorComponent extends UIComponent
{
public function EditorComponent()
{
super();
addEventListener(TextEvent.TEXT_INPUT, handleTextEvent);
setFocus();
}
protected function handleTextEvent(event:TextEvent):void
{
// This text the text that user types,
// following to current keyboard layout ;)
trace(event.text);
}
}
}
答案 1 :(得分:1)
keyCode值取决于语言环境。我相信各种布局将共享相同键的相同keyCode。确定密钥代码的不是键盘,而是计算机上的区域设置。我希望这会有所帮助。
答案 2 :(得分:1)
您在寻找String.fromCharCode()吗?