javascript修改html a 标签中href不跳转

在做PHP项目的同时,发现之前的JQuery <a>标签跳转不了
用FIreFox用F12调试的时候又能正常跳转,只是要等一下,
深层的原因应该是JS和HTML层面的问题
先挖一个坑,以后弄清楚了这个问题再回来修改,
本来都打算直接用<a>标签直接跳转了
后面不甘心又搜了一下
我用

 <a  id="company_logo" href="">芯智慧</a>
 $("#company_logo").click(function () {
        $(this).attr("href", "/hrms/main.php");
    });

跳转不了,后面发现

 <a  id="company_logo" href="#">芯智慧</a>

href里面填#就能正常跳转

具体可以参考这篇文章:

解决window.location.href不跳转,无反应,不执行的问题

上面文章说,
1.IE6 浏览器
2.事件绑定在a 标签且链接为空或为“javascript:;”或为“javascript:void(0);”
就会出现这个问题

解决的办法:
在onclick事件中加return false来阻止冒泡:

<a href="javascript:void(0);" onclick="modify();return false;">修改</a>
 <a href="javascript:modify();">修改</a>

这里的modify()应该对应js里面的函数,意思就是让href对应js中的函数,不让其为空或者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);
})

PS:经常我今天试了一天不成功,然后过一天又可以了,玄学BUG,给我的教训就是:有时候遇到解决不了的可以先放一放,潜意识可以帮你完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值