GWT(event.getCharCode)在IE和Firefox中表现不同

时间:2011-04-06 16:27:09

标签: gwt gwt2 gwt-2.2

我正在浏览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();
            }
          }
        });

1 个答案:

答案 0 :(得分:9)

使用KeyUpHandler代替KeyPressHandler来捕获非字符键(例如输入,转义等)。致电KeyUpEvent#getNativeKeyCode()获取密钥代码。