web-dev-qa-db-fra.com

Quel est le meilleur plug-in autogrow textarea pour jQuery?

Il semble y avoir une tonne de très mauvais plugins autogrow textarea pour jQuery. Je veux que ma zone de texte auto-croissant soit aussi bonne que celle de Facebook. Je veux qu'il s'adapte à la ligne actuelle uniquement et ajoute une ligne juste avant que cela ne soit nécessaire.

La plupart des plugins que j'ai consultés essaient de deviner la hauteur de ligne à partir du nombre de caractères, ce qui semble trop naïf. J'ai lu une solution qui crée une div cachée pour calculer la hauteur. Cela semble être le bon chemin, mais cette solution n'était pas sous forme de plugin.

Qu'est-ce qui fait ce que je veux et qui est facile à installer?

25
Sam Grossberg

L'essayer http://www.jacklmoore.com/autosize Je pense que voici le meilleur C'est un très bon.

44
vantrung -cuncon

J'ai un plugin qui calcule exactement cela: http://www.mostthingsweb.com/2012/01/textarea-line-count-version-1-3-released/ . Il utilise l'approche div cachée et même correspond aux attributs de police corrects. Vérifiez-le :)

Vous pouvez appeler le plug-in chaque fois qu'un utilisateur appuie sur une touche dans la zone de texte, puis redimensionner la zone en conséquence. Peut-être même toutes les autres clés, si vous ne voulez pas exploiter la puissance de traitement.

2
Chris Laplante

hé c'est pur javascript

function sz(t) {
    dv = document.createElement("div");
    dv.style.visibility="hidden";
    dv.style.position="absolute";
    dv.style.width=t.offsetWidth;
    dv.innerHTML = t.value.replace(/\n/g, "<br>");
    document.body.appendChild(dv);
    t.style.height=(dv.offsetHeight+22)+"px";
    dv.parentNode.removeChild(dv);
}

alors vous utilisez simplement onkeyup = "sz (this)"

0
user1288439