有很多关于自动扩展文本区域的主题。仍然没有找到一个我会称之为“完美”的人。我需要的一件事似乎无法解决,一旦用户开始打字,它们就会开始增长。我一直在尝试自己解决这个问题,但没有运气。我不希望文本区域在到达行尾或按下 Enter 之后展开。
http://jsfiddle.net/mstefanko/Jrpqg/65/
谢谢!
更新答案:
对于我的情况,我不仅希望文本区域仅在下一行/输入时才扩展。还要缩小没有文字。一个快速的解决方案,除了提供的答案之外,如果 textarea 是空的,我也可以运行 css 高度线。擦除时不会缩小,但至少在擦除所有文本后它会重置高度。
if ($.trim($(this).val()) == "") {
$(this).css('height', Math.max(shadow.height() + 20, minHeight));
}
if(this.scrollHeight > $this.height()) {
$(this).css('height', Math.max(shadow.height() + 20, minHeight));
}