如何修复jQuery Mobile的固定页脚?

使用jQueryMobile,我在标记中包含了data-role="footer" data-position="fixed" ,但是有两个bug仍然存在:

  • 页脚在空单击事件上切换。
  • 页脚未修复,并隐藏了部分页面内容。

我正在测试iPhone 3g。 有任何想法吗?

提前致谢。

更新 :似乎click事件修改了当前页面的页脚,并将ui-fixed-overlay更改为ui-fixed-inline ,当然其样式为display:none以防止其他页面的页脚出现。

我该如何防止这种修改?

如果使用1.1或更高版本 ,请将data-tap-toggle="false"到页眉和页脚,如此处所述 。

如果您使用的是1.1之前的jQuery Mobile版本,请在加载jQuery Mobile之前进行以下操作:

 $(document).bind("mobileinit", function(){ $.mobile.touchOverflowEnabled = true; }); // remove 

这在jQueryMobile 1.1 rc1中得到修复。 看到这里 。

在页脚上使用data-tap-toggle =“false”

使用jquery.mobile-1.0a4将数据位置=“固定”添加到页脚部分,在Iphone,Android和Chrome中正常工作

目前的“答案”可能有点误导。 使用touchOverflow可能会在短期内帮助您,但很快就会消失。 如果有人要阅读jQuery移动博客 ,他们会注意到1月10日发布的这个模糊:

抬头:touchOverflow将在1.1中弃用 – 当我们首次推出touchOverflowfunction时,我们认为它是利用iOS中的原生溢出支持带来真正的固定工具栏和更平滑过渡的好方法,即使它是相当狭窄的当时的一套设备。 现在随着对1.1的固定标题和转换的重大更改,这些将以与touchOverflow几乎相同的方式改善体验,除了它将在更多平台上工作并且复杂性更低,因此我们决定退出此function。 它将在1.1处弃用,在1.2处删除。 我们确实有未来计划通过内部滚动来解决溢出区域,因此我们在touchOverflow上完成的大量工作将被重新定位。

抱歉将此作为答案发布,但此时我无法发表评论。

我们遇到了这个问题,并使用iScroll(v3)和iScroll的一个漂亮的jquery移动包装器的组合。 它完美地运作。 查看此处的所有详细信息:

http://yappo.github.com/projects/jquery.mobile.iscroll/livedemo.html

我做了非常简单的事情。用CSS创建解决方案只为内容设置了适当的“最小高度”。将停止页脚跳转页面内容。

我也有类似的问题,页脚没有固定在滚动上。 我的建议? Sencha而不是jQueryMobile,它装载了bug并且还没有准备好生产。

页脚还会从URL /#页面突出显示所选页面。在我的情况下,url会影响页脚菜单。

我使用jquery mobile 1.3.1,你之前说的所有内容都不适用于我的应用程序。 但我有一个解决这个错误的方法。 检查我的其他postJQueryMobile – 固定页脚在输入焦点后没有修复

 $('div:jqmData(role="page")').on('pageinit',function(){ $(document) .on('focus','input, select, textarea', function(){ $('[data-role="footer"][data-position="fixed"]').hide(); }) .on('blur','input, select, textarea',function(){ $('[data-role="footer"][data-position="fixed"]').show(); }); }); 

Re:页脚未固定,并隐藏了部分页面内容。

我也在努力解决这个问题。 原来我必须将结束内容div标签移动到页脚开始之前。 如果页脚在内容div标签内 – 并且您打开>>> data-position =“fixed”<<<,那么我的页脚不会被修复。

我不知道你的另一个问题,“页脚在空单击事件上切换”,因为我不知道如何在我的应用程序中重新创建它。

使用…

  • JQuery Mobile 1.3.2
  • cordova
  • 页脚内部有一个导航栏和一个广告横幅。