jQuery.keypress: мгновенная обработка текста - PullRequest
0 голосов
/ 16 января 2012

Мне нужно заменить событие нажатия клавиши по умолчанию для дополнительного (мгновенного) преобразования текста при вводе.Попытка это:

field.keypress(function(e){
    field.val(function(i, val){
        return val.toUpperCase();
    });
    return false;
});

Но ввод заполнен не полностью, понятно почему.Но как?)

Пожалуйста, не предлагайте "text-transform", toUpperCase () является лишь примером.))

1 Ответ

3 голосов
/ 16 января 2012

Событие keypress вызывается до того, как текстовое поле действительно изменилось.

Вы должны связать функцию с событием keyup.

Это событие keyup срабатывает только один разза нажатие клавиши, хотя.Если вы нажмете клавишу a, событие keypress будет запущено до того, как каждый символ заполнит текстовое поле.Событие keyup наступает только после того, как ключ был отпущен.Таким образом, если вы удерживаете e в течение 10 секунд, поле ввода будет содержать символы нижнего регистра e, пока вы не поднимите палец.

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