今天碰到一个问题,用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,结果报错了。所以跳转也不能执行了。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/953.html