Какое событие происходит при попытке превысить максимально кол-во символов у textarea?

Здравствуйте.
Делаю счетчик символов для textarea. Если введено 200+ символов - счетчик становится оранжевый, 250+ счетчик становится красным. Хочу сделать анимацию формы для момента, когда пользователь пытается ввести 251-ый символ. Есть ли такое событие у стандартных форм html? Или, возможно, это можно решить путем jQuery? Ограничение установлено в атрибуте тега.
<textarea id="orderTextarea" class="text-field" maxlength="250"></textarea>

В нижеприведенном коде я установил alert(); на событие нажатия кнопки после достижения 250 символов. Проблема в том, что это событие срабатывает даже тогда, когда пользователь нажимает backspace, пытаясь удалить сообщение. Нужно отловить непосредственно попытку вводу 251-го символа.
$(function() {
    $('#orderTextarea').keyup(function count(){
        number = $("#orderTextarea").val().length;
        $('.count > .now').html(number);
        if (number >= 250) {
            $('.count').css('color', 'red');
            $('#orderTextarea').keyup(function(){
                alert('hello');
            });
        } else if (number >= 200) {
            $('.count').css('color', 'orange');
        } else {
            $('.count').css('color', 'white');
        }
    });
});

Пробовать JS и JQuery стал совсем недавно, поэтому прошу не кидаться тухлыми помидорами. Никакой литературы, кроме оф. справочника JQuery я не имею.
Заранее спасибо за помощь и за понимание!
  • Вопрос задан
  • 2606 просмотров
Решения вопроса 1
Такого события нет в javascript.

$(function() {
    $('#orderTextarea').keypress(function(event){
        var number = $(this).val().length,
            counter = $('.count'),
            color = 'white';

        counter.find('>.now').html(number);
        if (number >= $(this).attr('maxlength')) {
            color = 'red';
        } else if (number >= 200) {
            color = 'orange';
        }

        counter.css('color', color);
    });
});


Событие Keypress в отличие от Keyup, Keydown не реагирует на спецсимволы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Ответ написан
Комментировать
Иногда попадаются и готовые решения jQuery Character Counter Plugin )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы