4
<body>
<script type="text/javascript">$(function(){
$("textarea").live("keyup keydown",function(){var h=$(this);
h.height(h[0].scrollHeight);
});});

</script>
<textarea style="resize:none;width:760px;height:60px; overflow:hidden;" ></textarea>
</body>

textareaがオーバーフローすると、スクロールバーとscrollheightが取得され、その高さに適用されますが、値の長さを減らすとスクロールバーが取得されないため、textareaの高さを減らすことはできません。

4

2 に答える 2

21

テキストエリアの最小scrollHeightは、常に高さになります。正確なscrollHeightを取得するには、最初に高さを1に設定します。

h.height(1).height(h[0].scrollHeight);

http://jsfiddle.net/aarongloege/t2vAr/

于 2012-05-23T14:48:43.490 に答える
0

自分でコーディングしたくない場合は、次のスクリプトを使用することもできます:https ://github.com/brandonaaron/jquery-expandable すでに素晴らしいスライド効果が含まれています;-)

于 2012-05-23T15:00:38.423 に答える