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的錯誤?有沒有更好的方法來處理這個問題?