Я использую приведенный ниже простой код, чтобы заменить текстовое поле (
) на
после ввода пользователем определенного количества символов. В приведенном ниже примере это происходит после 10-го символа. Код работает, за исключением того, что в содержимом
опускается 10-й символ, введенный пользователем. Например, если вы введете в текстовое поле «тестирование 1234», в текстовой области будет пропущено «4». Любые идеи? Спасибо. - Джейк
$('.info').keypress(function() {
var count = $(this).val().length;
if (count > 10)
{
var contents = $(this).val();
$(this).after('<textarea></textarea>').next().val(contents).end().remove()
}
})
ОБНОВЛЕНИЕ: Я попробовал предложение, которым поделились многие из вас: использовать событие keyup. Это работает, но только если вы печатаете медленно. Если вы быстро набираете машинку, как, я подозреваю, большинство людей здесь, 10-й символ все равно опускается при использовании события keyup.