`

妙用javascript:void(0)

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

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

如果我们不想让页面跳动的话可以使用javascript:void(0)代替#,页面就不会发生跳动了。增强了用户的体验度。
分享到:
评论
21 楼 Shrek82 2010-01-20  
有个很重要的地方,表现不同:

1、<a href="#" onclick="alert()">click me</a>
2、<a href="javascript:void(0)" onclick="alert()"></a>

第1个,在IE6(IE8没有哪个地球了)下点击链接,弹出对话框没有按确定的时候,你就会发现IE工具栏上面的那个小地球在旋转,说明IE还在发送一个请求。。。

第2个,在IE6下,发现地球是静止不动的,仅仅是执行一个本地的动作。

很久之前的测试了,大家可以测试下。

20 楼 aninfeel 2010-01-20  
一般都用#加return false,javascript:void(0)写起来太麻烦了
19 楼 lifesinger 2010-01-20  
曾经总结过:

链接A引发的思考:http://lifesinger.org/blog/2008/12/think-about-link-a/
18 楼 happysoul 2010-01-20  
一定要用到A标签么?
使用样式 cursor:pointer;
即使是一个div
<div style="cursor:pointer;">111</div>
也是可以实现鼠标放上去变成一只手
进阶
<style>
.hover{font-width:blod;}
</style>
<div style="cursor:pointer;" onmouseover="this.className='hover'" onmouseout="this.class=''">111</div>

我们的目的只是为了让a用起来像个Button而已
17 楼 yhailj 2010-01-18  
为了保证不与 onclick 中定义的 javascript 冲突.
建议不使用 href="javascritp:;" 通常都是使用 href="###" . 页面也不会动
16 楼 eplang 2010-01-18  
hq2300 写道
我觉得用javascript:void(0)没任何意义,如果是要代替<a href='#'></a>,不如直接写<a></a>,既然用不上链接地址,又何须加href,如果碰到页面里设置了<base target="_blank" />,有href的空链接一样会起作用。


<a></a>这种方式压根没有链接效果.
没有href属性的话就只是显示标签里面的文本.
15 楼 hq2300 2010-01-18  
我觉得用javascript:void(0)没任何意义,如果是要代替<a href='#'></a>,不如直接写<a></a>,既然用不上链接地址,又何须加href,如果碰到页面里设置了<base target="_blank" />,有href的空链接一样会起作用。
14 楼 soni 2010-01-18  
js能省就省了。
13 楼 sunhj000java 2010-01-18  
MrLee23 写道
<a href="#" onclick="a();return false;">什么问题都解决了,包括浏览器不兼容问题</a>


但是我就没办法不是要麻烦一点的嘛,
12 楼 MrLee23 2010-01-18  
<a href="#" onclick="a();return false;">什么问题都解决了,包括浏览器不兼容问题</a>
11 楼 coca 2010-01-17  
也可以用:javascript:undefind;
10 楼 black.angel 2010-01-17  
wiwiluo 写道
写成这样也是可以的
javascript:;


我一直都用这个写法.
9 楼 snowing11812 2010-01-17  
我一般都用下面几种:
1.href="javascript:void(0);"
2.href="javascript:;"
3.href="#all"
4.href="####"

目前最多用第2种,只是目前还没有详细研究区别,只是为了实现“点击后不要什么反应”的目的
8 楼 bazhuang 2010-01-17  
关于这个问题,我专门写了一篇博客,感兴趣的可以看看,会有更好的方案
http://bazhuang.iteye.com/blog/548381
7 楼 rjzou2006 2010-01-16  
用三个#
或者四个#

都行。
6 楼 wiwiluo 2010-01-16  
写成这样也是可以的
javascript:;
5 楼 鹤惊昆仑 2010-01-16  
href="javascript:void(0);" 事实上void可以里面可以是任意值(表达式、函数等),但如果不幸写成href="javascript:void();",在IE下面就报错了;可恶的是如果不知道这个错误,它还很难跟踪定位,容易糊弄人。
4 楼 sunhj000java 2010-01-16  
coofucoo 写道
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)
2 楼 coofucoo 2010-01-16  
sunhj000java 写道


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


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


相关推荐

    javascript:void(0);

    很抱歉,但根据您给出的信息,标题、描述和标签都是`javascript:void(0);`,这意味着没有具体的IT知识点可以提供。压缩包内的文件名虽然看似包含了一些可能与无线电通讯或编程相关的资料,如"威泰克斯写频软件对照....

    C#代码javascript:void(0);

    工控带视觉点胶机运动控制,CCD定位,直线圆弧插补

    JS动态加载以及JavaScriptvoid(0)的爬虫解决方案.docx

    然而,这种技术也给网络爬虫带来了新的挑战,尤其是当网站使用`JavaScriptvoid(0)`的方式来隐藏实际的资源链接时。本文将详细介绍如何解决这一问题,并以36Kr网站为例,演示具体的爬取过程。 #### 二、JS动态加载...

    swot分析法javascript:void(0);

    去玩得起我的期望的委屈的期望短期我对得起我的缺点我去打球的委屈的

    JavaScript中void(0)的具体含义解释

    &lt;A HREF="javascript:void(0)"&gt;单击此处什么也不会发生 在上面的例子中,void(0) 计算为 0,但是不会在当前文档处装入任何内容。因此,当用户点击链接时,什么也不会发生。 void 操作符也可以用于提交表单,例如:...

    JavaScript语言精粹.修订版 Javascript:The Good Parts 中英 pdf

    JavaScript,作为一种广泛应用于Web开发的脚本语言,已经成为现代互联网技术不可或缺的一部分。"JavaScript语言精粹.修订版",即《Javascript: The Good Parts》,是由知名的计算机科学家Douglas Crockford所著,这...

    空链接 href="#"与href="javascript-void(0)"的区别.docx

    如果仅仅是希望链接触发一个JavaScript函数,同时不改变当前页面的位置,则推荐使用 `href="javascript:void(0)"`;如果链接本身就需要滚动到页面顶部或某个特定位置,则可以使用 `href="#"`。 - **兼容性考虑**:...

    [JavaScript权威指南(第6版)].(JavaScript:The.Definitive.Guide).David.Flanagan.文字版.pdf

    - **字符串(String)**: 可以用单引号或双引号包裹,ES6之后还可以使用反引号(``),支持模板字符串。 - **布尔值(Boolean)**: 有两个可能的值——`true` 和 `false`。 - **对象(Object)**: 是一种复合数据类型,可以...

    比较详细的关于javascript中void(0)的具体含义解释

     (实现版本 Navigator 3.0 ) 你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。 下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void...

    详解javascript void(0)

    - **`void(0)`**:`javascript:void(0)`在链接中使用时,阻止了默认的链接行为。点击这样的链接,浏览器不会尝试导航到任何URL,而是执行`void(0)`表达式,保持当前页面状态不变。 - **链接到ID**:相比之下,如果...

    jquery 仿QQ相册

    &lt;li&gt;&lt;a title="" href="javascript:void(0);"&gt;&lt;img alt="" src="pics/1.jpg"&gt;&lt;/a&gt; &lt;li&gt;&lt;a title="" href="javascript:void(0);"&gt;&lt;img alt="" src="pics/2.jpg"&gt;&lt;/a&gt; &lt;li&gt;&lt;a title="" href=...

    [removed]void(0)的作用示例介绍

    2. 响应点击事件,执行JavaScript函数:在href中使用`javascript:void(0)`,同时在链接上绑定一个onclick事件处理器来执行特定的函数。 ```html &lt;a href="javascript:void(0)" onclick="doSomething()"&gt;执行某些...

    JavaScript权威指南(英文版) JavaScript: The Definitive Guide, 5th Edition

    This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an example-driven programmer's guide and a keep-on-your-desk ...

    javascript分页效果code

    outstr = outstr + "&lt;a href='javascript:void(0)' onclick='gotopage("+(parseInt((cpage-1)/10)*10)+")'&gt;previous&lt;/a&gt;"; for (count=parseInt(totalpage/10)*10+1;count;count++) { if(count!=cpage) { ...

    a标签的学习总结

    推荐的做法是使用`onclick`属性来调用函数,同时将`href`设置为`javascript:void(0)`。 8. **传递元素引用**:如果你需要在函数中访问`&lt;a&gt;`元素本身,确保正确传递`this`上下文。例如: ```html &lt;a href="...

    JavaScript:JavaScript基础语法

    JavaScript 是一种重要的编程语言,由 Netscape 公司的 Brendan Eich 在1995年仅用10天时间创造出来。起初,它被称为 Mocha,之后又更名为 LiveScript,最终定名为 JavaScript。尽管名字中含有“Java”,但实际上它...

Global site tag (gtag.js) - Google Analytics