1

次の問題があります: たくさんのテキストエリアを含むページ (Struts2 と jQuery Struts Plugin を使用) を作成しようとしています。それらにはすべて、DB から取得したテキストがあります。

テキストの高さを動的に調整するために見つけた次の短いコード スニペットを使用します。

jQuery.fn.elasticArea = function() {
    return this.each(function(){
        function resizeTextarea() {
            this.style.height = this.scrollHeight/2 + 'px';
            this.style.height = this.scrollHeight + 'px';
        }
        $(this).keypress(resizeTextarea)
        .keydown(resizeTextarea)
        .keyup(resizeTextarea)
        .css('overflow','hidden');
        resizeTextarea.call(this);
    });
};

$('textarea.detail').elasticArea();

テキストエリアの 1 つに入ってボタン (Tab や Shift など) を押すとすぐに、うまく機能します。

問題は、各テキストエリアの scrollheight が 0 であるため、最初の読み込み後、テキストエリアの高さが 0 になることです。

テキストエリアに次のコードを使用します (s:iterator 内:

<s:textarea cols="80" name="viewList[%{#viewStatus.index}].beschreibungen[%{#beschrStatus.index}].wert" cssClass="detail"/>

しかし、通常の html テキストエリアでも同じ動作を示します。

読み込み時にスクロールの高さが 0 になるのはなぜですか? 回避策はありますか?

前もって感謝します!

4

0 に答える 0