Что касается вашего второго вопроса, вы можете заставить текстовую область автоматически расти, вызвав для нее событие keyup()
.
Учитывая ваш оригинальный пример кода, у меня работает следующее:
/*Note: I'm using 'on' instead of 'bind', because that's what I've actually tested
with, but I'm pretty sure this will work with 'bind' as well*/
$('#textarea').on('click', function() {
//First we'll add some text to #textarea
$('#textarea').val('some dummy text to be added to the textarea');
//Then we trigger keyup(), which causes the textarea to grow to fit the text
$('#textarea').keyup();
});
Короткая и приятная версия вышеприведенного, на этот раз с цепочкой и без комментариев:
$('#textarea').on('click', function() {
$(this).val('some dummy text to be added to the textarea').keyup();
});
Адаптировано с здесь .