我有一个运行 Backbone.js 和 jQuery mobile 的移动应用程序。因为我有 Backbone.js,并且出于性能原因,我禁用了所有 JQM 路由和转换。我知道存储滚动位置是 JQM 中提供的一项功能,但我无法利用它(据我所知)。
我有一个列表视图,其中包含可能很长的项目列表。当用户在移动设备上点击一个时,它会存储当前滚动位置并呈现一个新视图。当用户点击“返回”按钮时,它会返回历史记录。
clickLink: ->
window.lastScroll = $(window).scrollTop()
render: ->
...
if window.lastScroll
$.mobile.silentScroll window.lastScroll
window.lastScroll = undefined
这在桌面 Safari 上可以正常工作,但是当我在 iOS Safari(模拟器和真实的东西)上尝试使用它时,固定页脚导航栏存在问题。
如果用户点击返回,列表视图会按预期向下滚动,但是如果他们点击页脚导航栏,就好像他们点击了它,它下面的任何列表项都将被激活。如果用户在点击导航栏之前滚动一点,一切正常。
有没有人有任何想法?也许有更好的方法可以一起避免这个问题。
在此先感谢您的帮助。