Javascript 添加新行时,使设置高度的textarea增大
我有一个Javascript 添加新行时,使设置高度的textarea增大,javascript,html,css,height,textarea,Javascript,Html,Css,Height,Textarea,我有一个textarea,固定height为70px。当我多次按enter键输入新行时,我想让文本区域的高度增加。此时,在第6行之后会出现一个滚动条。这是有意义的,因为70px的固定高度height。但有办法解决这个问题吗 textarea{ 最小高度:70px; } 你好,世界!单击“回车”查看更多行…您可以使用简单的javascript函数处理此问题,请查看代码段: var textarea=document.getElementById('txtArea'); textarea.add
textarea
,固定height
为70px
。当我多次按enter键输入新行时,我想让文本区域的高度增加。此时,在第6行之后会出现一个滚动条。这是有意义的,因为70px
的固定高度height
。但有办法解决这个问题吗
textarea{
最小高度:70px;
}
你好,世界!单击“回车”查看更多行…
您可以使用简单的javascript函数处理此问题,请查看代码段:
var textarea=document.getElementById('txtArea');
textarea.addEventListener('keydown',自动调整大小);
函数autosize(){
var el=这个;
setTimeout(函数(){
el.style.cssText='高度:自动;填充:0';
el.style.cssText='height:'+el.scrollHeight+'px';
},0);
}
textarea{
最小高度:70px;
溢出:隐藏;
}
你好,世界!单击“输入”查看更多行
Min height而不是height?@LelioFaieta Forgott要写,我尝试了Min height,但没有成功(请参阅更新的代码片段)。我认为您需要javascript并控制内容输入的长度/数量。这似乎是解决textarea问题的最佳方法。我用纯css做了一个例子,但没有textarea:只要使用contenteditable元素,它也可以工作。注意:如果采用此解决方案,则不能像使用textareas那样设置属性resize
。对于这样的解决方案,您必须编写JS。谢谢