现在的位置: 网页制作教程网站制作经验 >正文
JavaScript脚本

location.href不跳转的问题分析

发表于2017/5/21 网站制作经验 0条评论 ⁄ 热度 2,092℃

今天碰到一个问题,用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>

有没有看到,javascript写错了,写成了javascrpt。于是修改过来:

<a href="javascript:;" class="gwq_follow_fixbtn fixed" ptag="7322.1.4" id="gofriendtab">马上看他们的动态</a>

得出结论:点击标签元素,执行JS的事件,然后冒泡,执行href,结果报错了。所以跳转也不能执行了。

  • 暂无评论