1

我有以下问题: 我正在尝试构建一个包含大量文本区域的页面(使用 Struts2 和 jQuery Struts 插件)。他们都有一些文本,我从数据库中检索。

我使用以下我发现的简短代码片段来动态调整 textares 的高度:

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();

只要我进入其中一个文本区域并点击一个按钮(如 Tab 或 Shift),它就可以很好地工作。

问题是,在初始加载后,textarea 的高度为 0,因为每个 textarea 的滚动高度为 0。

我对 textareas 使用以下代码(在 s:iterator 内:

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

但即使是普通的 html 文本区域也会显示相同的行为。

为什么加载时滚动高度为0?是否有解决方法?

提前致谢!

4

0 回答 0