Es gab ein anderer Thread zu diesem Thema die ich ausprobiert habe. Aber es gibt ein Problem: die textarea
schrumpft nicht, wenn Sie den Inhalt löschen. Ich kann keine Möglichkeit finden, sie auf die richtige Größe zu verkleinern - die clientHeight
Wert wird als die volle Größe des textarea
, nicht sein Inhalt.
Der Code dieser Seite ist unten zu sehen:
function FitToContent(id, maxHeight)
{
var text = id && id.style ? id : document.getElementById(id);
if ( !text )
return;
var adjustedHeight = text.clientHeight;
if ( !maxHeight || maxHeight > adjustedHeight )
{
adjustedHeight = Math.max(text.scrollHeight, adjustedHeight);
if ( maxHeight )
adjustedHeight = Math.min(maxHeight, adjustedHeight);
if ( adjustedHeight > text.clientHeight )
text.style.height = adjustedHeight + "px";
}
}
window.onload = function() {
document.getElementById("ta").onkeyup = function() {
FitToContent( this, 500 )
};
}
3 Stimmen
Meine Funktion macht Fehler. Es ist notwendig, eine neue Zeile am Ende der Zeile einzugeben. Dies ist die bessere Lösung. james.padolsey.com/javascript/jquery-plugin-autoresize
0 Stimmen
Sie können mein Plugin dafür ausprobieren: github.com/AndrewDryga/jQuery.Textarea.Autoresize
0 Stimmen
Mögliche Duplikate von Automatische Größenanpassung der Textarea mit Prototyp
0 Stimmen
Ich habe ein Paket dafür erstellt, falls Sie React verwenden: npmjs.com/package/react-fluid-textarea
0 Stimmen
Sortieren und süße Antwort hier: stackoverflow.com/a/995374/5114465
function textAreaAdjust(o) { o.style.height = "1px"; o.style.height = (25+o.scrollHeight)+"px"; }
<textarea onkeyup="textAreaAdjust(this)" style="overflow:hidden"></textarea>
0 Stimmen
Nur mit CSS (und einem Wrapper-Element): css-tricks.com/the-cleanest-trick-for-autogrowing-textareas