JQuery отменить введенный текст - PullRequest
3 голосов
/ 14 января 2012

При вводе в поле <input type="text"> я хотел бы предварительно проверить каждое введенное значение, прежде чем оно появится на экране. Например. если пользователь введет любое нечисловое значение, ничего не произойдет, и только если он введет числовое значение, поле изменится.

Какое событие лучше использовать keydown(), keyup() или есть что-то лучше? Как отменить текущее изменение текстового поля без необходимости запоминать старое значение и сбрасывать его вручную?

1 Ответ

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

Вы можете привязаться к событию keypress и затем проверить символ, представленный свойством which объекта события. Если это не число, вы можете использовать preventDefault, чтобы предотвратить поведение по умолчанию при записи символа в элемент:

$("#someInput").keypress(function(e) {
    if(isNaN(String.fromCharCode(e.which))) {
        e.preventDefault();
    }
});

Вот рабочий пример .

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