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