0

私はYahooのYUI3.1ライブラリとTextExpanderを使用して、ユーザーが入力したときにTextAreaを成長させています。

以下のコードは、TextAreaを初期化します。

YUI({gallery: 'gallery-2010.03.23-17-54'
    }).use("node", 'gallery-text-expander', function(Y) {
    Y.one('#myTextArea').plug(Y.TextExpander);
});

これは完全に機能しますが、このシナリオで質問があります。

1)ユーザータイプであるTextAreaは多くの行に成長し、メッセージはサーバーに送信されます。

2)投稿後、TextAreaをクリーンアップしまし$('myTextArea').value=''たが、期待どおりに縮小せず、実際には元のサイズに戻らなければならないときにまだ多くの行があります。

TextExpander(http://yuilibrary.com/gallery/buildtag/text-expander/gallery-2010.03.23-17-54)のコード内に「」というメソッドが存在することに気付きましたshrink_areaが、このメソッドを呼び出すにはどうすればよい $('myTextArea').shrink_area()ですか? (コードの行が間違っていることはわかっていますが、このようなものを取得する必要があります)または最善の方法は何ですか?

提案やヒントを事前に感謝します。

4

2 に答える 2

0

Textareaには、サイズを変更するためのプロパティがrowsあります。colsこれらを設定してみてください。

于 2010-08-23T08:59:55.550 に答える
0

まあ、私は自分で問題を解決しました。

その代わりに、プラグインされたクラスの内部メソッドを呼び出そうとするために(おそらくカスタム名前空間を使用して、その方法を知って良かったです)、私はそのトリックを実行する小さな関数を作成しました。

1)まずmin-height、クラスにCSSプロパティを設定します

2)TextAreaをクリアした後height、最小の高さとしてを設定します

以下のコードは、トリックを実行する関数を示しています

function shrinkTextArea(element) {
    // clear
    $(element).value ='';

    // shrink
    $(element).style.height = $(element).style.minHeight;
}
于 2010-08-23T09:50:49.793 に答える