web-dev-qa-db-ja.com

jQueryに最適な自動拡張textareaプラグインは何ですか?

JQuery用の本当に悪いautogrowtextareaプラグインがたくさんあるようです。自動成長するテキストボックスをFacebookと同じくらい良くしたいと思います。現在の行だけに合わせて、必要になる直前に行を追加したいと思います。

私がレビューしたプラグインのほとんどは、文字数から行の高さを推測しようとしますが、これは単純すぎるようです。高さを計算するための非表示のdivを作成する1つのソリューションを読みました。それは正しい道のように思えますが、その解決策はプラグイン形式ではありませんでした。

私がやりたいことを実行し、インストールが簡単なものは何ですか?

25
Sam Grossberg

それを試してみてください。 http://www.jacklmoore.com/autosize 私はここが最高だと思います。とても良いものです。

44

私はそれを計算するプラグインを持っています: http://www.mostthingsweb.com/2012/01/textarea-line-count-version-1-3-released/ 。非表示のdivアプローチを使用し、正しいフォント属性にも一致します。見てみな :)

ユーザーがテキストボックスのキーを押すたびにプラグインを呼び出し、それに応じてテキストボックスのサイズを変更できます。処理能力を占有したくない場合は、おそらく他のすべてのキーですら。

2
Chris Laplante

ねえ、これは純粋な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)"を使用します

0
user1288439