<a>标签和javascript:void(0)

最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅。
注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明。

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

目前有如下几种解决办法:

1)点击链接后不做任何事情

Java代码  

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

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

Java代码  

  1. 1.<a href="javascript:void(0)" onclick="doSomething()">test</a>
  2. 2.<a href="#" onclick="doSomething();return false;">什么问题都解决了,包括浏览器不兼容问题</a> //或者直接使用href=""
  3. 3.<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.如果仅仅是想鼠标移过,变成手形,可以使用

Java代码  

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

void是javascript的操作符,意思是:只执行表达式,但没有返回值,

void 操作符用法格式如下:

Java代码  

  1. 1. javascript:void (expression)
  2. 2. javascript:void expression

为了程序风格良好,建议使用第二种带上括号的

我们可以使用void操作符指定超级链接,如javascript:void(document.form.submit())。表达式会被计算
但是不会在当前文档处装入任何内容,void(0)计算为0,但在JavaScript上没有任何效果,也就是说 <a
href="javascript:void(0)">的效果同<a
href="javascript:void(1)">的效果是一样的。

关键是只要知道void是javascipt自身的操作符,它表示的是只执行表达式,但没有返回值!

另外页面会自动调回顶端,是因为"#"默认的瞄点位置是top,所以会出现这种情况。

时间: 2024-08-04 16:23:50

<a>标签和javascript:void(0)的相关文章

javascript:void(0)的问题

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

a标签的href=&quot;javascript:void(0)&quot;和href=&quot;#&quot;的区别

好文要推:a标签的href="javascript:void(0)"和href="#"的区别 张鑫旭这篇文章也挺风趣的,作为一个轻微代码洁癖的程序员,该纠结时就纠结:是习惯还是规范!?   疑问:为什么要使用href="javascript:void(0);"? a 标签要写href属性!~有了href属性,天然鼠标手型,以及可以被键盘focus以及focus时候回车模拟点击行为(支持回车点击和默认可以获取焦点). href="#&qu

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

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

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click失效

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click事件,如果有form表单提交或跳转等事件,会失效!举例: <a id="id_back" href="javascript:void(0);" title="返回管理">返 回</a> $("#id_back").click(function(){         $("#id_frm").

a标签之href=&quot;javascript:void(0)&quot;

记录下这个之前页面一直有问题也找不到什么原因后来发现了这个,提醒自己以后不再掉这坑. <p class="q_map">      <a href="javascript:void(0)" onclick="badMap();">质差地图</a></p> 这里如果不注意写成 <a href="" onclick="badMap();">质差地图&l

为了防止页面重新自动加载,可以给a标签设置href=&quot;javascript:void(0);&quot;

<a href="javascript:void(0);"></a> <!--按照格式要求,此处的0不能省略!! 虽然省略看上去也没什么影响.但是当发生点击事件的时候, 就会报错: Uncaught SyntaxError: Unexpected token ) --> <!--或者像下面这样: --> <a href="javascript:;"></a> 原文地址:https://www.c

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

将<a>标签设置为空链接有两种方式,第一种是href="#",另外一种是href="javascript:void(0);".两种方式都设置了标签为空链接,但是两种方式还是有些不同的地方. href="#",当点击的时候会跳转到页面的顶部,相当于点击了一个锚点,在URL的后面也会出现一个#的标识符号. 而href="javascript:void(0);"则是要执行一个javascript的表达式.void(0)不

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

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

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

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