GWT (event.getCharCode) 在 IE 和 Firefox 中的行为不同

标签 gwt gwt2 gwt-2.2

我正在通过 tutorial可在 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();
            }
          }
        });

最佳答案

使用 KeyUpHandler而不是 KeyPressHandler捕捉非字符键(如输入、转义等)。调用 KeyUpEvent#getNativeKeyCode()获取关键代码。

关于GWT (event.getCharCode) 在 IE 和 Firefox 中的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569803/

相关文章:

java - 在 GWT 中查找应用程序名称

java - GWT Gin 异步服务注入(inject)

javascript - GWT:我可以在 html 页面中包含 js 还是需要 `ScriptInjector` ?

java - 如何处理来自 Presenter 的 Datagrid 列事件?

java - 如何使用 GWT 编辑器框架进行验证?

java - 如何将 @UIBinder 与 CheckBox ValueChangeEvent 一起使用?

java - GWT CellTable 选择并单击 CheckBoxCell

java - 覆盖序列化