$("#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不起作用,这非常有效。
答案 0 :(得分:3)
将其更改为使用委托事件处理程序
function h() {
$(this).css({'height':'auto','overflow-y':'hidden'}).height(this.scrollHeight);
}
$(document).on('input', 'textarea', h).trigger('input');