我需要获取GWT中特定keydown事件的unicode值。到目前为止我看到的所有引用建议做类似char c = (char)keyCode
的事情,但是这似乎不起作用(不产生我期望的字符串/字符串 - 特别是当输入是日语时)
我的代码如下:
DOM.setEventListener(documentElement, new EventListener() {
public void onBrowserEvent(Event event) {
int keycode = event.getKeyCode();
char c=(char)keyCode;
String insertText = String.valueOf(c);
// Next I insert the string into the DOM as a text node.
}
});
DOM.sinkEvents(documentElement, Event.ONKEYDOWN);
我需要确保insertText
的值对应于用户在敲击键盘或使用IME输入编辑器输入日语字符时希望插入的内容。
谢谢!
答案 0 :(得分:1)
尝试使用KeyCodeEvent#getNativeKeyCode()获取本机密钥代码。这些密钥代码在KeyCodes类中列举。
char ch = (char)keyDownEvent.getNativeKeyCode()
请查看在相同背景下提出的帖子Mnemonics in GWT。
答案 1 :(得分:1)
KeyDown和KeyUp是关于键盘上按下的键。如果您对由这些键产生的更多高级事件感兴趣(并且可能将它们组合在一起,例如Shift
和A
产生大写A
),那么请听KeyPress事件。