Jquery HTML文本区域自动高度

Jquery HTML文本区域自动高度,jquery,html,css,Jquery,Html,Css,我正在处理一个没有[rows]属性的textarea。 首先,高度应为35px ---------- Text Here ---------- 然后,如果用户打断新行[Shift+Enter]。文本区域应该是这样的 ------------------ Text Here Another Line ------------------ 但是,在下一条新线路上。文本区域应该是可滚动的 提前谢谢 您应该添加以下代码: style: max-height: 35px; overflow

我正在处理一个没有[rows]属性的textarea。 首先,高度应为35px

----------


Text Here

----------
然后,如果用户打断新行[Shift+Enter]。文本区域应该是这样的

------------------

Text Here

Another Line

------------------
但是,在下一条新线路上。文本区域应该是可滚动的


提前谢谢

您应该添加以下代码:

style: max-height: 35px; overflow: scroll;

您可以在每次事件中检查文本区域的滚动高度,然后相应地设置高度

  $('textarea').keyup(function(){
    $(this)[0].style.height = ($(this)[0].scrollHeight)+"px";
});
此外,还需要将溢出设置为隐藏

textarea {
    resize: none;
    overflow: hidden;
    min-height: 20px; 
}


我不知道这是否是个好主意。

可能是Hi-Michal的复制品,我已经做了。但首先,高度应为35,并应可调高达75像素。然后可滚动。但当您输入Shift+输入时,高度没有调整
var text    = $(this).val();
            var newline = text.split('\n');
            if(newline.length === 2) {
                $el.removeClass('scroll');
                $el.attr({
                    style : 'height : 60px'
                });
            }
            if(newline.length === 3) {
                $el.removeClass('scroll');
                $el.attr({
                    style : 'height : 75px'
                });
            }
            if(newline.length > 3) {
                $el.addClass('scroll');
            }

            if(newline.length === 0 || newline.length === 1) {
                $el.removeClass('scroll');
                $el.prop('style',false);
            }