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