Хотя ответа Syed достаточно для простого подхода, у него есть несколько недостатков:
- Если вы удерживаете клавишу Backspace, это уменьшит счет на единицу, даже если вы удалили весь контент.
- Вы должны указать весь список ключей, которые вы не хотите запускать счетчик (F1-F12, shift, ...), и он немного длинный (однако проблема также возникает в вашем версия кода).
Решение, которое вы ищете, - это простой метод получения длины текста, когда что-то меняется.
i = 0;
$(document).ready(function(){
$("input").keyup(function(event){
i = $(event.target).val().length;
$("span").text(i);
});
});
Поскольку мы получаем событие на нашем <input>
, мы $(event.target)
напрямую предоставим нам доступ к тегу <input>
, что позволит нам получить содержимое (.val()
) и получить длину введенного в него текста.
i
переменная не обязательна, но может быть полезна, если вы хотите показать где-нибудь (добавлено х символов) или (удалено х символов).
https://jsfiddle.net/e84L5d6c/1/