GWT - запуск родного KeyPressEvent не работает? - PullRequest
0 голосов
/ 27 ноября 2011

Я хочу заменить специальный введенный символ (например, «A») другим (например, «B»), когда пользователь вводит данные в TextBox или TextArea. Мой код, как показано ниже:

public void onKeyPress(KeyPressEvent event) {       

    if (event.getNativeEvent().getCharCode() == 65 /*for 'A'*/){            
        event.preventDefault(); 
        NativeEvent event1 = 
        Document.get().createKeyPressEvent(false, false, false, false, 66 /* for 'B'*/);                        
        DomEvent.fireNativeEvent(event1, theTextBox);       
}           

Я думаю, что все должно быть в порядке (согласно документации GWT), но на самом деле это просто работает до event.preventDefault();, а остальное кажется игнорируемым. Я имею в виду, что он просто удаляет «А», но не стреляет по «В». Кто-нибудь может сказать мне причину? или любое другое решение?
Спасибо.

1 Ответ

0 голосов
/ 29 ноября 2011

попробуйте переключиться с KeyPressHandler на KeyDownHandler.

public void onKeyDown(KeyDownEvent event) {
    if( event.getNativeKeyCode() == 65 ) {
        //do the character replacement here
    }
}

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...