我需要为移动平台上的搜索结果页面实现无限滚动。我们将 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 前置的每个页面。删除它并将其简单地附加到主 index.html 页面似乎并没有解决问题,但我并没有更深入地修复这个问题。
我想阻止 jQuery/PhoneGap 劫持滚动并将其应用于整个页面而不更改库文件。对此有什么好的解决方案还是黑客尝试是最好的选择?如果我们确实采用该解决方案,当用户导航到不同的“视图”时,我们如何删除事件侦听器?