4

我正在阅读GWT 网站上提供的 StockWatcher 应用程序教程,并按照步骤 4:管理客户端上的事件中所述测试应用程序。

下面的代码在 Firefox 和 IE7 中的行为不同。在 IE7 中这很好用,即如果我在 Text 字段中输入一些垃圾字符并按 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();
            }
          }
        });
4

1 回答 1

9

使用 aKeyUpHandler而不是 aKeyPressHandler来捕获非字符键(如 enter、escape 等)。打电话KeyUpEvent#getNativeKeyCode()获取密钥代码。

于 2011-04-06T17:37:10.463 回答