当我单击锚链接时,应立即再次加载当前页面:
<a href="javascript:void(0);" class="BackToFirst"
onclick="popNav('BackToFirst');">Back</a>
function popNav(type) {
if(type == "BackToFirst") {
$(".first").show();
$(".second").hide();
$('.BackToFirst').click(function() {
document.location.href = window.location.href;
});
}
}
我希望当用户单击链接时,当前页面将立即加载,但需要一些时间来加载。
答案 0 :(得分:0)
您的点击处理程序仅向链接分配了一个新的点击处理程序,请尝试直接导航到该链接:
function popNav(type){
if(type=="BackToFirst")
{
$(".first").show();
$(".second").hide();
document.location.href = window.location.href;
}
}
我认为您混淆了两个概念,以上代码将DOM事件直接附加到链接上,另一种方式是使用JQuery将事件附加到该按钮上,如下所示:
HTML:
<a href="javascript:void(0);" class="BackToFirst">Back</a>
脚本:
$('.BackToFirst').click(function(){
$(".first").show();
$(".second").hide();
document.location.href = window.location.href;
});
如果您仍然想检查类型,那么使用JQuery时,数据属性是一种不错的选择:
<a href="javascript:void(0);" class="BackToFirst" data-linktype="BackToFirst">Back</a>
$('.BackToFirst').click(function(){
if($(this).data('linktype') == 'BackToFirst'){
$(".first").show();
$(".second").hide();
document.location.href = window.location.href;
}
});
答案 1 :(得分:0)
我认为您使代码过于复杂。单击元素后,您将绑定onClick。我认为这样应该会更好。
HTML:
<a href="#" class="BackToFirst" onclick="onClickHandler('BackToFirst')">Back</a>
JS:
function onClickHandler(type){
if(type !== 'BackToFirst') {
return;
}
$(".first").show();
$(".second").hide();
location.reload();
}
答案 2 :(得分:0)
目前尚不清楚您要做什么。
var current = sessionStorage.getItem("which"); // does not run in a snippet
current = current ? current.split("|") : []
if (current.length) {
$("." + current[0]).show();
$("." + current[1]).hide();
}
$(".BackToFirst").on("click", function(e) {
e.preventDefault();
$(".first").show();
$(".second").hide();
sessionStorage.setItem("which", "first|second")
setTimeout(function() {
location.reload(1); // are you absolutely sure this is not an X/Y problem?
}, 500); //let the show/hide sink in
});
<a href="#" class="BackToFirst">Back</a>