1

ユーザーが下に達すると拡大する(外側ではなく下向きに拡大する)テキスト領域を作成したい

この良い例はFacebookで見られ、ユーザーが入力すると、それに応じてテキストボックスのサイズが調整されます。

オンラインで調べてみましたが、何も機能しませんでした。些細なことのように思われる場合はご容赦ください。

<textarea name="messagea" id="styled"></textarea>
<script>
$(function() {
   $('styled').autogrow();
});
</script>
4

2 に答える 2

2

jQueryを使用していますか?

もしそうなら、この質問はStackOverflowですでに回答されています:jQueryを使用してテキストエリアを自動拡張するか、textarea自動拡張します。

于 2012-05-27T18:45:04.220 に答える
2

生のJavaScriptを使用すると、次のようになります。

var foo = document.getElementById('mytextarea');
foo.addEventListener('keypress', function(){
  if (this.clientHeight < this.scrollHeight) this.style.height = ''.concat(this.scrollHeight * 1.05, 'px');
});

これはクロスブラウザでの動作が保証されていないため、そのために拡張する必要があります(IEの場合)が、これにより、キープレスイベントを処理し、高さを適切にチェックする基本的な考え方が得られます。

于 2012-05-27T19:01:08.817 に答える