1

<textarea id='input_text'>次のCSSを持つユーザー入力要素があります。

#input_text{ 
    height:200px; 
    overflow:hidden;  
    border-width:0;
    background-color:transparent;
}

'overflow:hidden'の主な理由は、テキストエリアがいっぱいになったときにポップアップする醜いスクロールバーを避けるためです。代わりに、textareaがいっぱいになったときにページ付けを実行したいと思います。これを実装するための最良の方法は何でしょうか?javascript / jqueryを考えていますが、正確な方法はわかりません。

追記:textareaの終わりに達すると、ページ付けが自動的に行われます(新しいページ)が、ユーザーがバックスペースを押すか、ページへのリンクをクリックすると(1ページに戻る)、ページが元に戻ります(古いページ)。

完全な解決策を期待しているわけではありませんが、いくつかの有用なヒントが私に役立ちます(おそらく将来のコーダーも)。ありがとう。

4

3 に答える 3

1

テキストエリアのページ付けは恐ろしい考えです。コメントが長すぎる場合は、複数のページを読んで読む必要はありません。

StackOverFlowがテキスト領域で使用するのと同じプラグインであるhttp://plugins.jquery.com/project/TextAreaResizerを使用します。これにより、ユーザーは必要に応じてテキストエリアを拡張できます。

于 2011-04-15T13:27:55.297 に答える
1

私は次のようなことをします:

  • キーアップイベントで、scrollHeightがtextareaの高さよりも大きいかどうかを確認します。
  • そうである場合は、テキスト領域にあるテキストを削除して配列に格納します。この配列の値は、「ページ」を構成します。
  • 次に、ページを前後に移動するためのUIを作成する必要があります。

このソリューションの「楽しい」部分は、途中で何かが追加または削除されたときにページをリフローする方法です。

于 2011-04-15T13:58:04.603 に答える
0

jQuery.elasticプラグインはあなたが探していることをします。より多くのテキストが入力されると、テキストエリアが垂直方向に引き伸ばされます。

于 2011-04-15T13:27:57.663 に答える