解决window.location.href不跳转,无反应,不执行的问题
场景测试环境:IE6源代码: href="javascript:void(0);" onclick="modify();">修改function modify(){window.location.href = "http://www.accpweb.com"}分析以下条件满足则会出现此问题IE6 浏览器事件绑定在a 标签且
·
场景
测试环境:IE6
源代码:
- <a href="javascript:void(0);" onclick="modify();">修改</a>
- <script>
- function modify(){
- window.location.href = "http://www.accpweb.com"
- }
- </script>
分析
以下条件满足则会出现此问题
- IE6 浏览器
- 事件绑定在a 标签且链接为空或为“javascript:;”或为“javascript:void(0);”
解决方法
分析出原因,解决方法就很简单。在onclick事件中加return false来阻止冒泡:
- <a href="javascript:void(0);" onclick="modify();return false;">修改</a>
- //或
- <a href="javascript:modify();">修改</a>
同理IE6下onclick事件失效可以尝试加return false来解决问题
代码如下:
<a href="javascript:void(0)" >GoNext</a>
$("a").click(function(){
window.location.href = "xxx.html";
})
代码如上,在IE下,特别是在IE6中,点击超链接之后,浏览器并没有发生跳转行为。
原因可能是因为在href中的javascript:void(0)阻止的事件行为,解决方法如下:
1.在onclick事件中加return false来阻止冒泡:
复制代码 代码如下:
$("a").click(function(){
window.location.href = "xxx.html";
reutrn false;
})
2.延迟100毫秒
复制代码 代码如下:
$("a").click(function(){
setTimeout(function(){
window.location.href = "xxx.html";
},100);
})
还有我们不写a的href就没有问题了
更多推荐
所有评论(0)