2013-04-11 9 views
5

textarea要素に固定幅を設定すると、高さのデフォルト値をコンテンツをすべて収めることができるようにするエレガントな方法がありますか?TextArea要素 - コンテンツに合わせるデフォルトのサイズ

jqueryでtext.lengthを比較し、値を高さと同じにするハードコーディングを避けることを望んでいましたが、おそらくそれが唯一の方法です。可能ですが、私は頭の上から何も考えられないようです。

私は達成しようとしていることを示すフィドルを作成しました。

CSS:

textarea { 
    overflow: hidden; 
} 

はJQuery:ここhttp://jsfiddle.net/edZgm/

はコードだ

$('document').ready(function() { 
    $('textarea') 
     .width(500); 

    //I have a width set, but see how the height defaults to a rediculously small amount. 
    //I'd like to have the height default to fit everything on load. 

}); 

HTML:

<textarea> ... lots of text </textarea> 

がでありがとうdvance。

+1

私はそれを行う可能な、しかし難しい(jQueryのではなく、CSSで)だと信じています。私はあなたがページとtextareaの内容が読み込まれた後jqueryでtextareaの高さをサイズ変更することができると思うと、文字とテキストの行をカウントすることによって必要な高さを計算しますが、固定幅フォントを使用した方が簡単です。 – Revent

+1

jQueryで 'autogrow'プラグインが何をしているのか知りたいかもしれません。 – karthikr

+0

ああ、私はフォントサイズを考えていなかったこともいい点です。うーん、それはほぼ確実にJS/JQベースでなければならないでしょう...フォントサイズと行の高さを調べ、コンテンツの長さを決定し、行ごとにいくつの文字が収まるかを判断し、行数に行高さを掛けた値に基づいて高さを計算します。 –

答えて

関連する問題