0

按照标题。页眉和页脚固定在桌面上,但在移动浏览器(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 和其他网站上看到的减少的东西,但没有任何东西能正常工作。

4

1 回答 1

0

查看编辑

解决了。

附加 html 后,我正在实例化页面

$j("#dynamicpageid").page()

代替

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

将 .page 调用更改为 trigger("create") 会将正确的 css 规则应用于页眉和页脚,并使它们保持原位。

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

Uncaught TypeError: Cannot read property 'jQuery1830677661889931187' of undefined 

跟踪调用链将其返回到我的代码中对 .trigger("create") 的调用,但没有我用于页面的原始调用。诡异的。试图进一步弄清楚这一点。

于 2013-05-30T17:42:54.940 回答