我需要在移动平台上为搜索结果页面实现无限滚动。我们将Knockout.js和PhoneGap与jQuery Mobile一起用于单页面应用程序。
有问题的视图有一个div,它与返回的项目数相关联。我想使用knockout绑定到这个div的滚动事件,以便可以实现无限滚动。但问题是,jQuery mobile似乎正在劫持滚动,因此此事件现在只会在文档级别触发(整个应用程序必须滚动而不是需要它的div)。我有一个hacky解决方案是向窗口添加一个回调,从搜索结果视图模型中调用无限滚动方法。如果可能,我想避免这种情况。
另一个开发人员提出的解决方案是重组网站。我们目前有一个通用页脚(不是实际页脚):
<div class="navigation" data-role="footer" data-position="fixed" data-tap-toggle="false">
<!-- Div Contents -->
</div>
使用jquery prepend将其添加到每个页面。删除它并将其简单地附加到主index.html页面似乎无法解决问题,但我没有更深入地解决这个问题。
我想阻止jQuery / PhoneGap劫持滚动并将其应用到整个页面而不更改库文件。有没有什么好的解决方案或黑客尝试最好的选择?如果我们确实使用该解决方案,那么当用户导航到不同的“视图”时,我们如何删除事件监听器?