使用 jQuery mobile,我使用带有上一个和下一个链接的列表视图进行分页。一切正常,但我不希望将上一页和下一页添加到历史堆栈中。这个想法是,回击只会转到实际的上一页。
我发现执行此操作的唯一方法是将 data-rel="dialog" 添加到 a 标记,但我不希望它成为弹出对话框。
否则我尝试添加
$.mobile.nonHistorySelectors="dialog,pagination"
到 mobileinit 事件,并将属性 data-rel="pagination" 添加到 a 标记。但这只会在单击链接时引发错误(即使没有将 nonHistorySelectors 添加到 mobileinit 事件,也会发生错误)。
EDIT:
我发现的最接近的是这个JS
<script type="text/javascript">
$(".page-prev").click(function(e) {
e.stopPropagation();
e.preventDefault();
$.mobile.changePage(this.href, {changeHash:false, reverse:true});
});
$(".page-next").click(function(e) {
e.stopPropagation();
e.preventDefault();
$.mobile.changePage(this.href, {changeHash:false});
});
</script>
和这个 HTML
<a href="/blog?page=1" class="page-prev" data-role="button" data-icon="arrow-l">Prev</a>
<a href="/blog?page=3" class="page-next" data-role="button" data-icon="arrow-r">Next</a>
这似乎可以很好地防止浏览器历史记录被更新,但有时当单击“下一步”时,滑动的页面会做一些奇怪的事情,例如加载/滑动两次。另外,它无法做到的一件事是,如果我从这里导航到某个页面并返回,它将返回到第 1 页。
没有任何机制可以默默地从浏览历史记录中删除任何内容。
您应该使用 AJAX 来填充您的列表。
所以你的链接看起来像<a href="javascript:renderNextPage()">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)