JavaScript:void(0);的作用

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

void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。我们可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
<a href=”javascript:void(0)”>单击此处什么也不会发生</a>

在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,用户体验不好。

目前有如下几种解决办法:
1)点击链接后不做任何事情

代码如下:

<a href="javascript:void(0);" >test</a>
<a href="javascript:;" >test</a>
<a href="####" >test</a> //使用2个到4个#,见的大多是"####",也有使用"#all"等其他的

2)点击链接后,响应用户自定义的点击事件

代码如下:

<a href="javascript:void(0)" onclick="doSomething()">test</a>
<a href="#" onclick="doSomething();return false;">什么问题都解决了,包括浏览器不兼容问题</a> //或者直接使用href=""
<a href="#" onclick="alert();event.returnValue=false;">test</a>

注意: 
1.javascript:void(0)这种伪协议,少写的好,如果你看过一些web标准的书就知道为什么了。(不懂,原话摘的,暂做记录)
2.链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“####”。为防止点击链接后跳转到页首,onclick事件return false即可。
3.如果仅仅是想鼠标移过,变成手形,可以使用

代码如下:

<span style="cursor:pointer" onclick="foo()">Click Me!</span>

时间: 2024-11-03 21:01:33

JavaScript:void(0);的作用的相关文章

javascript:void(0)的作用示例

在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,或者是跳到设置的锚点的地方,用户体验不好. 通常的用法为: <a href="javascript:void(0)">单击此处看看效果</a> 实际上单击此处什么也不会发生,其中的javascript:void(0);形式是一个javascript的伪协议,是表

javascript:;与javascript:void(0)使用介绍

有时候我们在编写js过程中,需要触发事件而不需要返回值,那么就可能需要这样的写法 href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃. 当然我们一般用三个 href="###",不过看了这篇文章我们以后就可以使用javascript:;(一个冒号一个分号) javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. javascript:;好些,javascript:void(0);据说

href=#与 href=javascript:void(0) 的区别

<a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP <a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接 <a href="#" onclick="javascript:return false;"> 作用同上,不同浏览器会有差异. 点击链接后,不想使页

【repost】javascript:;与javascript:void(0)使用介绍

有时候我们在编写js过程中,需要触发事件而不需要返回值,那么就可能需要这样的写法 最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅. 注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明. 在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,用户体验不好. 目前有如下几种解决办法: 1

a href=#与 a href=javascript:void(0) 的区别

转载:http://blog.csdn.net/fightplane/article/details/5190037 a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP <a href="JavaScript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接 <a href="#" onclick="javasc

javascript: 和 javascript:void(0); 解析

在阅读很多html代码中我们经常能够看到代码中包含javascript:和javascript:void(0),下面将分别介绍这两者的含义. javascript: javascript:是浏览器的一个URI伪协议, 浏览器当遇到javascript开头的URI时,浏览器会计算javascript:后面的代码值,并替换当前页面的值为代码的返回值,这就是为什么我们打开浏览器在地址栏输入:javascript:alert(2+2)会弹出一个内容为4的对话框的原因. javascript void v

href=&#39;#&#39;和href=&#39;###&#39;的区别以及javascript:;与javascript:void(0)使用介绍

href='#': 我们有时会写这样的连接<a href="#" >xxx</a>为了不发生跳转,其实是不太正确的,因为href="#",包含了一个位置信息.默认的锚是#top,也就是网页的上端,其实它是发生了跳转的,每次都跳转到网页的顶端,如果你的网页只有一屏,当然看不出来,但是会有问题,因为每次点击都发生了跳转,所以,如果频繁点击会导致浏览器巨慢甚至崩溃. href='###': 这种写法是个人习惯问题,解释一下就会明白,基于href=&

a href=#与 a href=javascript:void(0) 的差别

a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP <a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,仅仅打开链接 <a href="#" onclick="javascript:return false;"> 作用同上,不同浏览器会有差异. 点击链接后,不想使页面滚到

a标签中的href:JavaScript:void(0) # 等

参考自:http://segmentfault.com/q/1010000000339082 给<a>标签增加href属性,就意味着以下事情: :link选择器可以选择到它 这个<a>标签可以获得焦点(可以通过tab按键访问到) 在浏览器的默认样式表中,有href属性的<a>标签才有cursor:pointer的效果(尤其是在低版本的IE上). 绑定了onclick事件的<a>标签,尤其是它的作用是ajax请求时,基本上我们就用不上这个标签的默认行为,也连接