2016-04-16 3 views
-2

Ich habe ein Areatext-Feld, und wenn eine Zeile zu lang wird, wird es in der nächsten Zeile umbrochen. Es tut dies jedoch, ohne ein Newline-Zeichen in den Text einzufügen, und ich brauche das Newline-Zeichen, so dass die element.scrollHeight geändert wird.Erzwingen Sie den Browser zu tatsächlichen ' n' verwenden, wenn es Zeilenumbrüche

Ich kann über Möglichkeiten nachdenken, dies in Javascript zu tun, zum Beispiel, indem Sie die Schriftgröße zusammen mit der Anzahl der Zeichen und einfügen \n geeignet, aber ich hoffe, es gibt eine einfachere Lösung, vielleicht nur eine einfache CSS-Einstellung?

EDIT: Beispiel: https://jsfiddle.net/ah126wm5/1/

+2

würden Sie uns geben mögen etwas Code? – Gintoki

+0

@John In diesem Code, wenn ich die 'scrollHeight' der zwei verschiedenen' textarea's nehme, bekomme ich zwei verschiedene Höhen, weil die eine, wo ich die Eingabetaste gedrückt habe, ein tatsächliches '\ n' angehängt hat. Das wäre, was ich möchte, wenn ich einfach eine lange Zeile schreibe, ohne Enter zu drücken. – sboutzen

Antwort

1

Es gibt keine CSS einen Zeilenumbruch wie das injizieren, werden Sie Skript benötigen.

Der Grund ist, dass ein Text, der Zeilenumbrüche nicht manuell erhält, sich an seine Containerbreite anpassen soll und deshalb verhält er sich so.

Randbemerkung: Die textarea ‚s scroll Höhe berichtet noch korrekt, wie Sie in diesem updated fiddle sehen können, nur mehr Text addieren und die Höhe überprüfen und Sie werden sehen, es arbeitet

Verwandte Themen