我有以下问题: 我正在尝试构建一个包含大量文本区域的页面(使用 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?是否有解决方法?
提前致谢!