3
在任何法语键盘上(AZERTY)dot char'。'与移位 + ;组合而百分比炭“%”与移 + ù组合产生GWT:使用法语键盘生成的错误键代码
因此,当I型在GWT文本区写入上述组合中的一个“”或'%',则为这些事件生成的键码为KEY_DELETE
,前者为KEY_LEFT
,后者为KEY_LEFT
。
TextArea txtArea = new TextArea();
txtArea.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
switch (charCode) {
case KeyCodes.KEY_LEFT: { // key code 37
System.out.write("KEY LEFT");
break;
}
case KeyCodes.KEY_DELETE: { // key code 46
System.out.write("DELETE");
break;
}
}
解决方法:获得则charCode,做一个字符匹配:
charCode = event.getCharCode();
if (charCode == '.') {...}
else if (charCode == '%') {...}
这是一个GWT的错误?有没有更好的方法来处理这个问题?