GWT (event.getCharCode) ведет себя по-разному в IE и Firefox - PullRequest
4 голосов
/ 06 апреля 2011

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

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

9 голосов
/ 06 апреля 2011

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

...