我正在浏览GWT网站上的tutorial以获取StockWatcher应用程序,并按照步骤4:管理客户端上的事件所述测试应用程序。
下面的代码在Firefox和IE7中表现不同。在IE7中,这很有效,即如果我在文本字段中输入一些垃圾字符并按Enter键“event.getCharCode() == KeyCodes.KEY_ENTER
”行成功执行,我可以看到一条警告消息。但是,如果我使用Firefox,那么这条线也行不通。
当我使用Firefox并按Enter键时,event.getCharCode会返回一些垃圾字符。我在这做错了什么?或者这是预期的行为?
newSymbolTextBox.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
if (event.getCharCode() == KeyCodes.KEY_ENTER) {
addStock();
}
}
});
答案 0 :(得分:9)
使用KeyUpHandler
代替KeyPressHandler
来捕获非字符键(例如输入,转义等)。致电KeyUpEvent#getNativeKeyCode()
获取密钥代码。