【发布时间】:2011-07-25 16:03:46
【问题描述】:
使用 jQuery mobile,我使用带有前一个和下一个链接的列表视图进行分页。一切正常,但我不希望将上一页和下一页添加到历史堆栈中。这个想法是,回击只会转到实际的上一页。
我发现这样做的唯一方法是将 data-rel="dialog" 添加到 a 标签,但我不希望它是一个弹出对话框。
否则我尝试添加
$.mobile.nonHistorySelectors="dialog,pagination"
到 mobileinit 事件,属性 data-rel="pagination" 添加到 a 标签。但这只会在单击链接时引发错误(即使没有将 nonHistorySelectors 添加到 mobileinit 事件中也会发生错误)。
编辑:
我找到的最接近的就是这个 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 页。
【问题讨论】:
标签: jquery jquery-mobile