使用 jQueryMobile 和 iscrollview 插件,我无法在包含动态添加的内容的页面上向下滚动。这是我的 HTML:
<div data-role="content" class="care-plan-fields" id="scroll-wrapper" data-iscroll>
<div data-role="fieldcontain" id="field1">
<label for="field1Text" id="field1Label"></label>
<textarea cols="40" rows="2" id="field1Text" spellcheck="true" autocorrect="on" autocapitalize="on"></textarea>
</div>
<div data-role="fieldcontain">
<label for="field2Text" id="field2Label"></label>
<textarea cols="40" rows="2" id="field2Text" spellcheck="true" autocorrect="on" autocapitalize="on"></textarea>
</div>
<div data-role="fieldcontain">
<label for="field3Text" id="field3Label"></label>
<textarea cols="40" rows="2" id="field3Text" spellcheck="true" autocorrect="on" autocapitalize="on"></textarea>
</div>
<div data-role="fieldcontain" id="field4">
<label for="field4Text" id="field4Label"></label>
<textarea cols="40" rows="2" id="field4Text" spellcheck="true" autocorrect="on" autocapitalize="on"></textarea>
</div>
</div>
我在pagebeforeshow处理程序中向 textareas 添加数据,如下所示:
$("label[for='field1Text']").text(carePlan.fields[0].label);
$('#field1Text').val(carePlan.fields[0].text);
然后立即在滚动视图上调用刷新以使其调整大小:
$('#scroll-wrapper').iscrollview("refresh");
但是,虽然 textareas 已调整大小以适应添加到其中的文本的大小,但页面似乎没有调整大小,如果添加的数据超出页面底部,我将无法向下滚动。
如果我离开页面并再次返回,我可以完全向下滚动。
我认为这是一些渲染问题,并且无法弄清楚如何重新渲染页面而无需再次导航。(请注意,iscrollview 插件适用于我的应用程序中的其他列表视图,但它们没有像这样动态添加的数据。)有人有什么想法吗?干杯