您可以使用此功能强制正确的内容高度:
function getRealContentHeight() {
var header = $.mobile.activePage.find("div[data-role='header']:visible");
var footer = $.mobile.activePage.find("div[data-role='footer']:visible");
var content = $.mobile.activePage.find("div[data-role='content']:visible:visible");
var viewport_height = $(window).height();
var content_height = viewport_height - header.outerHeight() - footer.outerHeight();
if((content.outerHeight() - header.outerHeight() - footer.outerHeight()) <= viewport_height) {
content_height -= (content.outerHeight() - content.height());
}
return content_height;
}
它必须在 pageshow 事件期间激活,因为只有在该点页面高度是正确的:
$(document).on('pageshow', '#index', function(){
$.mobile.activePage.find('.ui-content').height(getRealContentHeight());
});
工作示例:http: //jsfiddle.net/Gajotres/nVs9J/
如果您想了解有关此功能的更多信息,请阅读我的另一篇文章:https ://stackoverflow.com/a/14550417/1848600