a链接绑定了 onclick 事件,单击事件中是history.go 单击两次才能后退的原因

问题代码:

跳转的代码:

(在js里面动态生成) 拼接时注意  \'  转义字符,因为要传的参数url必须是字符串

html+=
'<a class="shuoming_color" href="#" οnclick="lookAt(\' '+url+'\')">'+
'<span class="apply-dpt-text">'+obj[i].value+'</span>'+
'</a>';

跳转的js:

function lookAt(url){

window.location.href=url;

}


回退的代码:

<a href="javascript:void(0)" class="header_back"></a>

$(".header_back").on("click",function(){

window.history.go(-1);

})

问题描述:

从详情页返回列表页单击时,必须单击两次才能实现后退的效果。

问题原因:

原因:当从info1.html跳转到info2.html的lookAt单击时,会执行两个事件。第一次刷新当前页面因为href="#"  第二次才会执行跳转动作

此时的历史纪录history中  是

页面0.  list.html

页面1.  info1.html

页面2.  info1.html#

页面3.  info2.html

所以当从info2.html  单击返回时,是返回到  info1.html#

问题来了:要想回到list.html页面  单击需要单击两次

单击第一次返回,到了  info.html------感官上页面没有变化,(其实路径变了,从info1.html#----->info1.html)

单机第二次返回,才到list.html页面


正确代码:

只需要将跳转的代码<a>中的href=“#”改为没有默认行为。。那么页面2 info1.html# 就不会出现!

html+=
'<a class="shuoming_color" href="javascript:void(0)" οnclick="lookAt(\''+url+'\')">'+
'<span class="apply-dpt-text">'+obj[i].value+'</span>'+
'</a>';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值