`

妙用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知识点可以提供。压缩包内的文件名虽然看似包含了一些可能与无线电通讯或编程相关的资料,如"威泰克斯写频软件对照....

    商城代码javascript:void(0);

    这个标题可能指的是一个网页中的JavaScript代码,该代码在执行时不会有任何实际效果(即`javascript:void(0);`)。这种做法有时用于HTML链接,目的是让链接不执行任何跳转动作,仅触发某些JavaScript事件。 #### ...

    javascript;与javascriptvoid(0)使用介绍

    ### JavaScript与JavaScriptvoid...通常情况下,为了保证更好的用户体验和更高的安全性,建议优先使用 `javascript:void(0)`。同时,在实际项目中,还可以结合其他技术如jQuery等来进一步增强代码的健壮性和可维护性。

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

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

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

    &lt;a href="javascript:void(document.form.submit())"&gt;提交表单 ``` 这里,当用户点击链接时,`document.form.submit()`会被执行,从而提交表单。需要注意的是,这种方式可能会导致一些安全问题,因为用户可能会意外...

    js中javascript-void(0) 真正含义.docx

    ### JavaScript中的`javascript:void(0)`真正含义 #### 关键概念理解 在JavaScript语言中,`javascript:void(0)`是一个常见的表达式,特别是在处理HTML超链接时。它主要用于避免超链接执行默认行为(如跳转至另一...

    javascript-void(0)是什么意思?JS的几种跳转.docx

    在探讨`javascript:void(0)`的具体含义之前,我们首先需要理解`void`操作符的基本概念。`void`是一个JavaScript操作符,用于指定计算一个表达式但不返回任何值。换句话说,`void`操作符的作用主要是执行表达式,并将...

    js中 javascript-void(0) 用法详解.docx

    因此,在需要执行JavaScript处理而不需要页面刷新的情况下,推荐使用 `href="javascript:void(0)"`。 #### 五、`void(0)` 在 AJAX 中的应用 在 AJAX 应用程序中,`void(0)` 的使用非常普遍。AJAX(Asynchronous ...

    javascript-void(0)的含义.docx

    这可以通过在`href`属性中使用`javascript:void(0)`来实现。 ```html &lt;a href="javascript:void(0)"&gt;单击此处什么都不会发生 ``` 在这个示例中,点击链接时,`javascript:void(0)`将执行一个没有任何实际效果的...

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

    在Web开发中,我们经常会遇到两种类型的空链接:一种是使用 `href="#"`,另一种则是使用 `href="javascript:void(0)"`。这两种写法在实际应用中看起来相似,但在某些场景下却有着本质的不同。接下来,我们将深入探讨...

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

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

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

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

    javascriptvoid(0)含义以及与”#”的区别讲解

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

    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=...

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

    - **2.1 Character Set**(字符集):JavaScript支持Unicode字符集,这意味着开发者可以在代码中使用来自任何语言的字符。 - **2.2 Comments**(注释):JavaScript支持单行注释(//)和多行注释(/* */)。 - **2.3...

    详解javascript void(0)

    这时可以使用`javascript:void(0)`。例如: ```html &lt;a href="javascript:void(0);"&gt;单击此处什么都不会发生 ``` 这样的链接点击后,由于`void(0)`计算结果为`undefined`,浏览器不会尝试加载新的页面。 2. *...

Global site tag (gtag.js) - Google Analytics