JQuery用の本当に悪いautogrowtextareaプラグインがたくさんあるようです。自動成長するテキストボックスをFacebookと同じくらい良くしたいと思います。現在の行だけに合わせて、必要になる直前に行を追加したいと思います。
私がレビューしたプラグインのほとんどは、文字数から行の高さを推測しようとしますが、これは単純すぎるようです。高さを計算するための非表示のdivを作成する1つのソリューションを読みました。それは正しい道のように思えますが、その解決策はプラグイン形式ではありませんでした。
私がやりたいことを実行し、インストールが簡単なものは何ですか?
それを試してみてください。 http://www.jacklmoore.com/autosize 私はここが最高だと思います。とても良いものです。
私はそれを計算するプラグインを持っています: http://www.mostthingsweb.com/2012/01/textarea-line-count-version-1-3-released/ 。非表示のdivアプローチを使用し、正しいフォント属性にも一致します。見てみな :)
ユーザーがテキストボックスのキーを押すたびにプラグインを呼び出し、それに応じてテキストボックスのサイズを変更できます。処理能力を占有したくない場合は、おそらく他のすべてのキーですら。
ねえ、これは純粋な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);
}
次に、onkeyup = "sz(this)"を使用します