如何避免在<a href=="#"> 中使用#

      很多人都有写这样代码的经历:

 

                  <a href="#" onclick="doSomething()">click me</a>

其实这样写非常不好,因为页面虽然没有跳转,但是页面会回到顶端。如果在href中链接到一个锚点,eg: href="#bookmark" ,它就会调到<a href="bookmark">的地方。那么我们什么也不用,就不会有什么情况发生了吧,其实不然,这样会在浏览器浏览历史中新增一条记录。

   其实我们有几种解决空连接的方法:

 

1. 用CSS

        

        .scripted-link {text-decoration:underline; cursor:pointer;}

        <span class="scripted-link" οnclick="alert(better);">

这样,一个空连接就出来了;

 

2. 用javascript:void(0);

 

<a href="javascript:void(0);" οnclick="alert('better');" class="script-link">click me</a>

 

这样页面也不会有任何跳转。

 

 

3. 我们可以在href中使用任何funciton,不过记得最后一定要return false;

如果你想你的链接不要有调转,你还可以吧href和onclick结合起来用,就是在href中使用javascript方法:

 

<a href="javascript:doSomething()">click me</a>

但是这个方法必须返回false或者void,不然的会,页面就会跳转到一个空页面,或者会显示这个方法返回的字符串。

 

<a href="javascript:doSomething(); void(0);">click me</a>

这样,这个链接既没有调转,又完成了操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值