GWT (event.getCharCode) ведет себя по-разному в IE и Firefox

Я просматривал учебник, доступный на веб-сайте GWT для приложения StockWatcher, и тестировал приложение, как описано в Шаге 4: Управление событиями на клиенте.

Ниже кусок кода ведет себя по-разному в Firefox и IE7. В IE7 это работает хорошо, т.е. если я введу несколько ненужных символов в текстовое поле и нажму Enterevent.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 ответ

Решение

Использовать KeyUpHandler вместо KeyPressHandler ловить не символьные ключи (например, ввод, выход и т. д.). Вызов KeyUpEvent#getNativeKeyCode() чтобы получить код ключа.

Другие вопросы по тегам