给html超链接设置事件不使用href来完成跳

有的时候,我们需要使用<a>这个超级链接,而又不使用href来完成跳转,而是如:<a href="#" onClick="fun()"></a>这种方式。这样,就不会让页面跳转。但是同时也会带来一些负面的问题,比如页面的title变成了“#”,或者页面出现了滚动条什么的。这是因为在执行完了onClick事件后,<a>又去跳转href所指向的地址了,而”#“是个锚点,默认是网页的页首,所以会带来上边所说的问题。

解决方法有以下两种:

1、onClick事件添加return false语句,例如:

<a href="#" onClick="fun(); return false;">点击</a> 


2、用void(0)的方式代替#,例如:

<a href="javascript:void(0)" οnclick="fun()">点击</a> 

推荐使用1

Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“#”。为防止点击链接后跳转到页首,onclick 事件 return false即可。

#"包含了一个位置信息

默认的锚点是#top 也就是网页的上端

而javascript:void(0)  仅仅表示一个死链接

这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首

而javascript:void(0) 则不是如此

所以调用脚本的时候最好用void(0)

href为空的时候不显示超链接样式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值