日期:2014-05-16  浏览次数:20328 次

妙用javascript:void(0)
在开发过程中经常使用<a href="#"/>,可是在点击这个链接的时候,总是跳到页面的顶端,如果滚动条很长的话,并且已经阅览的页面底部的时候,给用户带来很大的困扰。

为什么会出现这种情况呢,查阅资料发现,#代表一个锚点,并且这个锚点是在页面的顶部,所以每次点击这个链接都会跳到页面顶部。

如果我们不想让页面跳动的话可以使用javascript:void(0)代替#,页面就不会发生跳动了。增强了用户的体验度。
2 楼 coofucoo 2010-01-16  
sunhj000java 写道


如果我们不想让页面跳动的话可以使用javascript:void(0)代替#,页面就不会发生跳动了。增强了用户的体验度。


会不会对搜索引擎不友好?


3 楼 sunhj000java 2010-01-16  
fnet 写道
sunhj000java 写道
在开发过程中经常使用<a href="#"/>,可是在点击这个链接的时候,总是跳到页面的顶端,如果滚动条很长的话,并且已经阅览的页面底部的时候,给用户带来很大的困扰。

为什么会出现这种情况呢,查阅资料发现,#代表一个锚点,并且这个锚点是在页面的顶部,所以每次点击这个链接都会跳到页面顶部。

如果我们不想让页面跳动的话可以使用javascript:void(0)代替#,页面就不会发生跳动了。增强了用户的体验度。

# 也可以,你只需要 onclick="return false" 即可。
javascript:void(0) 在有的浏览器会有问题。

浏览器问题还没有测试过呢,我是要用onclick事件的,是href=javascript:void(0)
4 楼 sunhj000java 2010-01-16  
coofucoo 写道
sunhj000java 写道


如果我们不想让页面跳动的话可以使用javascript:void(0)代替#,页面就不会发生跳动了。增强了用户的体验度。


会不会对搜索引擎不友好?



应该不会吧,它起到的是一个锚点的作用撒
5 楼 鹤惊昆仑 2010-01-16  
href="javascript:void(0);" 事实上void可以里面可以是任意值(表达式、函数等),但如果不幸写成href="javascript:void();",在IE下面就报错了;可恶的是如果不知道这个错误,它还很难跟踪定位,容易糊弄人。
6 楼 wiwiluo 2010-01-16  
写成这样也是可以的
javascript:;
7 楼 rjzou2006 2010-01-16  
用三个#
或者四个#

都行。
8 楼 bazhuang 2010-01-17  
关于这个问题,我专门写了一篇博客,感兴趣的可以看看,会有更好的方案
http://bazhuang.iteye.com/blog/548381
9 楼 snowing11812 2010-01-17  
我一般都用下面几种:
1.href="javascript:void(0);"
2.href="javascript:;"
3.href="#all"
4.href="####"

目前最多用第2种,只是目前还没有详细研究区别,只是为了实现“点击后不要什么反应”的目的
10 楼 black.angel 2010-01-17  
wiwiluo 写道
写成这样也是可以的
javascript:;


我一直都用这个写法.
11 楼 coca 2010-01-17  
也可以用:javascript:undefind;
12 楼 MrLee23 2010-01-18  
<a href="#" onclick="a();return false;">什么问题都解决了,包括浏览器不兼容问题</a>
13 楼 sunhj000java 2010-01-18  
MrLee23 写道
<a href="#" onclick="a();return false;">什么问题都解决了,包括浏览器不兼容问题</a>


但是我就没办法不是要麻烦一点的嘛,
14 楼 soni 2010-01-18  
js能省就省了。
15 楼