Le doublon suggéré est la question où j'ai obtenu la base de cette question, donc c'est pas un doublon! En fait, je déjà ont lié à cette question dès le début ...Redimensionner la force lors de la lecture de texte à partir du fichier
BON EDIT:
J'ai fait une JSFiddle (première fois :)). Remarquez comment la zone de texte ne se développe pas comme on le souhaiterait. Tapez quelque chose à l'intérieur de la zone de texte et il sera redimensionné immédiatement.
Si nous pouvons envoyer automatiquement un événement de pression de touche, cela peut fonctionner ... (this question pertinente n'a pas aidé, les réponses n'ont eu aucun effet).
J'utilise le textarea
comme est de here. Ensuite, je lis dans un fichier et je place le contenu dans la zone de texte, mais il ne se redimensionne pas comme il se doit.
mettre à jour la zone de texte comme celui-ci:
function updateTextbox(text) {
$('#cagetextbox').val(text);
};
Toutes les idées?
Je suis sur firefox 34.0 canonical, à Ubuntu 12.04, si cela joue un rôle, ce qui, je l'espère, n'est pas le cas, puisque certains de mes utilisateurs utilisent Chrome.
EDIT:
Une tentative serait d'écrire quelque chose comme ceci:
$('#cagetextbox').attr("rows", how many rows does the new text contain);
Notez que si nous essayons de find out how many lines of text the textarea contient, nous aurons 1 réponse.
EDIT_2
Peut-être quelque chose comme width/(length_of_line * font_size)
. Pour quelques tests, il semble correct, si j'en soustrais 1 (en ne gardant que la partie entière du résultat bien sûr).
il est généralement préférable de le rendre aussi grand que s'adaptera en utilisant, par exemple, 'width: 100%;', et de laisser le texte remplit et défile au besoin, plutôt que de risquer une boîte surdimensionnée dans la fenêtre. – dandavis
Je voudrais le garder resizeable pour diverses raisons @dandavis, mais merci pour le commentaire. – gsamaras
bien, il est difficile de dire la taille de pixel que la police utilisera (sujet à zoom, user-prefs, OS, taille de texte os, etc), ce qui signifie que le 'cols = n' est le seul moyen fiable de la taille vers le haut. Donc, vous devez trouver la largeur de la ligne la plus longue, et définir le 'cols 'attrib à cela.' cagetextbox.cols = Math.max.apply (null, text.split ("\ n"). map (fonction (a) {return a.length;})); ' – dandavis