3

当我将内容动态添加到 jQuery 移动对话框,并且新内容超出手机屏幕的底部边缘时,我无法向下滚动对话框以查看新内容。但是,当我旋转我的设备以强制重绘屏幕上的任何内容时,向下滚动可以正常工作。

我在对话框元素和对话框内附加新内容的元素上尝试了 .page() 和 .trigger('create') - 不能解决问题。

如何更新我的对话框,以便在添加到其中的所有内容中滚动?

我正在使用 Jquery mobile 1.2.0、Phonegap 2.2.0、Android 4.0。

谢谢。

4

2 回答 2

0

当您旋转屏幕时,不是重绘使滚动开始工作。jQuery mobile 有一个窗口调整大小事件,它以像素为单位设置页面大小,这有时会导致大小在错误的时间发生变化。在大多数情况下,您可以在 css 中使用 !important 规则覆盖它。

如果您不想深入研究 jQuery 移动内部,一个更简单的选择可能是在对话框中放置一个固定大小的容器并在其上设置溢出:自动,这样对话框本身就不需要滚动。

于 2012-11-26T00:05:23.787 回答
0

.trigger('updatelayout')在 Chrome/webkit 和 iOS 上为我解决了这个问题。

每次添加新内容时我都会调用它,例如:

jQuery("#" + id).append(paragraph).trigger('updatelayout');
于 2015-11-24T03:50:16.377 回答