一行を長く入力した場合に対応してみる。
<script type="text/javascript"> function resize_textarea(ev){ var el = ev.target || ev.srcElement; el.style.height = 'auto'; if (el.scrollHeight >= el.clientHeight) el.style.height = el.scrollHeight + 16 + 'px'; } </script> <textarea cols="64" rows="3" onkeyup="resize_textarea(event)">イチ に 三</textarea>
Fx2, IE7で確認。Opera 9.25ではel.scrollHeightの値が違うためうまく行かず。