Ich versuche, ein Textarea zu verkleinern, um den Inhalt so eng wie möglich anzupassen. Hier ist meine aktuelle Anstrengung:Textgröße ändern, um allen Inhalt anzupassen
function resizeTextarea(t) {
a = t.value.split('\n');
b = 1;
for (x = 0; x < a.length; x++) {
c = a[x].length;
if (c >= 75) b += Math.ceiling(c/75);
}
b += a.length;
t.rows = b;
}
Diese ziemlich gut funktioniert, aber es scheint zum Scheitern verurteilt, wenn der Benutzer „schiebt“ Text in der nächsten Zeile durch die Breite füllt. (Hinweis: die hier verwendete 75 ist repräsentativ für die Breite meines Textbereichs in Zeichen)
Es gibt auch einen seltsamen Effekt wo [enter] [key] das Textfeld 2 Zeilen nach dem Ende des Textes, dann das nächste [ Taste] bringt es zurück zu der erwarteten zusätzlichen Zeile. Ich habe versucht, nur c auf 2 setzen, wenn c < = 1, ohne Wirkung. Dieses ist keine große Sache, aber es wäre schön, es zu korrigieren.
Jede Hilfe wäre willkommen.
Hinweis: Diese Funktion wird bei Tastendruck aufgerufen.
genaue dupe: http://stackoverflow.com/questions/7477/autosizing-textarea – Triptych