更改动态创建的textarea的高度

时间:2016-01-10 14:08:07

标签: jquery textarea

$("#btnwrite").click(function(){
        $(".sent").after("<textarea class='write'></textarea>");
});

这会在每个sent段后创建一个textarea 现在,我想在用户输入时调整textarea的高度:

function h(e) {
    $(e).css({'height':'auto','overflow-y':'hidden'}).height(e.scrollHeight);
}
$('textarea').each(function () {
  h(this);
}).on('input', function () {
  h(this);
});

如果textarea位于启动DOM的内部,但是对于dinamically创建的textareas不起作用,这非常有效。

1 个答案:

答案 0 :(得分:3)

将其更改为使用委托事件处理程序

function h() {
    $(this).css({'height':'auto','overflow-y':'hidden'}).height(this.scrollHeight);
}

$(document).on('input', 'textarea', h).trigger('input');