Bei der Arbeit an meinem aktuellen Projekt hatte ich ein ähnliches Problem, einfach kein solides, zuverlässig wachsendes Textbereich-Plugin zu finden. Am Ende habe ich mich auf growfield festgelegt, aber ich kann nicht sagen, dass ich zu glücklich damit bin.
Ein Problem, dass ich in der Lage zu adressieren war, war, dass growfield (zusätzlich zu fast jedem anderen Plugin) darauf bestand, eine zusätzliche Zeile im Textbereich zu jeder Zeit hinzuzufügen. Dies ist rau Entwicklungscode, und zur Zeit nur Adressen Safari und Firefox, aber hier ist einige Code, den ich bis zum Ende des growfield der getDummyHeight hinzugefügt() Funktion:
if ($.browser.safari) return h-sr.lh*2+sr.pt+sr.pb;
if ($.browser.mozilla) return h-sr.lh*2+sr.pt*2+sr.pb+5;
Es nutzt Browser-Erkennung (das ist eine schlechte Praxis), und ist wahrscheinlich abhängig von unserem Layout und CSS, aber Sie können vielleicht einige Optimierungen vornehmen, damit es in Ihrem Design gut funktioniert.
Falls Sie sich wundern (Growfield ist ein wenig kryptisch), bezieht sich h auf die Höhe der Textfläche, sr.lh bezieht sich auf die Zeilenhöhe, sr.pt bezieht sich auf die obere Füllung und sr.pb auf die untere Füllung . Die vollständige Liste der Variablen befindet sich in der Funktion prepareSizeRelated().