jQuery Счетчик символов для каждого элемента 'textarea' путем создания интервала для счетчика, это эффективно? - PullRequest
0 голосов
/ 09 мая 2020

У меня есть счетчик, созданный для приложения с множеством форм, поэтому было проще создать диапазон для каждого существующего текстового поля в приложении без изменения разметки. Я не уверен, как обрабатывать оператор if без изменения текущей функциональности. Как это написать более эффективно?

$(document).ready(countChar);
function countChar() {
    $('textarea').each(function () {
        $(this).after(function () {
            return "<span id=" + this.id.replace(/['"]+/g, '') + 'Counter' + "></span>";
        });

        $(this).on("keyup change", function () {
            var max = $(this).attr('maxlength');
            var len = $(this).val().length;
            var counterId = $('span#' + this.id.replace(/['"]+/g, '') + 'Counter');
            if (len <= max) {
                var remaining = max - len;
                counterId.text(remaining + '/' + max);
            }
        }).triggerHandler('keyup');
    })
};
...