动态页面固定页眉和页脚在android / iphone上消失并移动

时间:2013-05-30 15:59:59

标签: android ios jquery-mobile cordova

根据标题。页眉和页脚保持固定在桌面上,但在移动浏览器(chrome,safari,phonegap webview)上,一旦滚动到页面中间,页眉和页脚就无处可见。

如果我在屏幕上双击某个地方,偶尔会重新出现。

我正在使用以下代码动态创建页面:

$j.mobile.pageContainer.append('<div data-role="page" id="' + id + '" class="formswidget"><div data-role="header" data-tap-toggle="false" data-position="fixed" data-id="portalHeader"><a href="jsmenu.html" data-icon="home">Home</a><a data-icon="gear" href="settings.html">Settings</a><h1 id="formsheader">Forms</h1></div> <!-- header div --><div id="insertiondiv" data-role="content"></div><!-- content div --><div data-role="footer" id="formsfooter" data-tap-toggle="false" data-position="fixed" class="ui-body-a"><div data-role="navbar"><ul><li id="backbutton"><a href="#" data-rel="back">Back</a></li><li id="savebutton"><a href="#">Save</a></li><li id="submitbutton"><a href="#">Submit</a></li></ul></div><!--navbardiv--></div><!--footerdiv--></div><!--pagediv-->');

正如您从这个过长的动态页面中看到的那样。我有两个

data-tap-toggle="false"
data-position="fixed"

设置页眉和页脚。

当我使用静态外部页面时,我似乎没有遇到这个问题。但是在动态生成和追加的页面上,存在问题。

我觉得我已经尝试了所有我在SO和其他网站上看到的减少但没有正常工作的东西。

1 个答案:

答案 0 :(得分:0)

SEE EDIT

解决了它。

在附加html后,我用

实例化了页面
$j("#dynamicpageid").page()

而不是

$j("#dynamicpageid").trigger("create")

将.page调用更改为触发器(&#34;创建&#34;)会将正确的css规则应用于页眉和页脚,并使其保持原位。

编辑:仍然不完全正确。如果它们没有使用.page()实例化,有些页面会崩溃,但错误是超级神秘的,并且源自jquery移动脚本本身。

Uncaught TypeError: Cannot read property 'jQuery1830677661889931187' of undefined 

跟踪调用链会将我的代码中的调用恢复为.trigger(&#34;创建&#34;),但不会使用原始的调用链。奇怪的。试图进一步解决这个问题。