Javascript jQuery Mobile:data rel=“back”在重新加载页面后无法正常工作
在我的jQuery移动页面上,我有两个页面:页面A和B。页面A包含一个选项卡框容器。每个框包含一个不同的文本,并带有指向B页的链接 A页: B页: 我的问题是: 在A页上,我选择第二个选项卡,然后转到B页,我希望在用户重新加载B页后,通过data rel=back按钮返回A页时,第二个选项卡仍然可见。但是,在重新加载B页后,当用户单击back按钮并返回A页时,第二个选项卡不再设置为可见,而是第一个选项卡Javascript jQuery Mobile:data rel=“back”在重新加载页面后无法正常工作,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,在我的jQuery移动页面上,我有两个页面:页面A和B。页面A包含一个选项卡框容器。每个框包含一个不同的文本,并带有指向B页的链接 A页: B页: 我的问题是: 在A页上,我选择第二个选项卡,然后转到B页,我希望在用户重新加载B页后,通过data rel=back按钮返回A页时,第二个选项卡仍然可见。但是,在重新加载B页后,当用户单击back按钮并返回A页时,第二个选项卡不再设置为可见,而是第一个选项卡 我如何在jQuery Mobile中实现在重新加载后从B页开始时记住我在A页上的选项卡选择!
我如何在jQuery Mobile中实现在重新加载后从B页开始时记住我在A页上的选项卡选择!用户返回到A页 您可以将dom缓存设置为true,以不重新加载页面:
<div data-dom-cache="true" data-role="page">
...
</div>
另一种方式:
在链接中添加一个函数,如:
<a href="#" class="ui-btn" onclick="switch_page('page_b','page_a');">back</a>
<script>
function switch_page(page_current, page_target){
$('#'+page_current).hide();
$('#'+page_target).show();
}
</script>
您可以将dom缓存设置为true,以不重新加载页面:
<div data-dom-cache="true" data-role="page">
...
</div>
另一种方式:
在链接中添加一个函数,如:
<a href="#" class="ui-btn" onclick="switch_page('page_b','page_a');">back</a>
<script>
function switch_page(page_current, page_target){
$('#'+page_current).hide();
$('#'+page_target).show();
}
</script>
您可以使用保存当前选定的选项卡,并在重新加载pageA时重新加载:
$(document).on("pagecreate","#pageA", function(){
var savedTab = sessionStorage.getItem('selTab');
if ($('#' + savedTab).length == 1){
$('.testtab').hide();
$('#' + savedTab).show();
}
$('#testtab-con li a').on('click', function() {
var targetTab = $(this).attr('title');
sessionStorage.setItem('selTab', targetTab);
$('.testtab').hide();
$('#' + targetTab).show();
});
});
如果要在会话之间重新加载同一选项卡,可以使用localStorage而不是sessionStorage。可以使用保存当前选定的选项卡,并在重新加载pageA时重新加载:
$(document).on("pagecreate","#pageA", function(){
var savedTab = sessionStorage.getItem('selTab');
if ($('#' + savedTab).length == 1){
$('.testtab').hide();
$('#' + savedTab).show();
}
$('#testtab-con li a').on('click', function() {
var targetTab = $(this).attr('title');
sessionStorage.setItem('selTab', targetTab);
$('.testtab').hide();
$('#' + targetTab).show();
});
});
如果要在会话之间重新加载相同的选项卡,可以使用localStorage而不是sessionStorage