js执行location.href不跳转问题

location.href不跳转问题

今天一位同事碰到一个问题,用JS设置了location.href就是不跳转的问题。代码如下:

$(’#gofriendtab’).on(‘click’, function() {
location.href = “XXXXX”;
})

测试运行了一下,发现确实执行了这个代码,但是就是不跳转,语法问题先排除。

  • 控制台调试
    首先,我在控制台输入location.href发现是可以立马跳转的。
  • setTimeout测试
    既然控制台OK,那就使用setTimeout试一下吧。

setTimeout($(’#gofriendtab’).on(‘click’, function() {
location.href = “XXXXX”;
}),1);

发现也是OK的。
  • 阻止冒泡试一下
    既然上面两种都是OK的。就怀疑是绑定事件重复,导致其他原因。于是我就阻止事件冒泡的。
    return false;
    发现是OK的。
    然后看下代码是否有其他事件,发现没有。。。
    于是终于看到了这个:
    <a href="javascrpt:;" class="gwq_follow_fixbtn fixed" ptag="7322.1.4" id="gofriendtab">马上看他
    们的动态</a>
    
    发现href写错了,于是更正过来,
    <a href="javascript:;" class="gwq_follow_fixbtn fixed" ptag="7322.1.4" id="gofriendtab">马上看他们的动态</a>
    
    发现是OK的。然后改变href,#abc、javascript:void(0);javascript:alert(2);发现都是可以跳转的。但是"abcd:"等都是不能跳转的。
  <a href="#abc" class="gwq_follow_fixbtn fixed" ptag="7322.1.4" id="gofriendtab">马上看他们的动态</a>
   ```
   得出结论:点击便签元素,执行JS的事件,然后冒泡,执行href,结果报错了。所以跳转也不能执行了。。。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值