javascript:void(0)的问题
经常看到这个<a href="javascript:void(0);" >test</a>,原来这个表达式的作用就是让当前这个超链接成为一个死链接,就是什么都不做。
void是javascript的操作符,意思是:只执行表达式,但没有返回值。
void 操作符用法格式如下:
javascript:void (expression)
javascript:void expression
通常的用法是<a href="javascript:void(0)" onclick="doSomething()">test</a> ,点击这个链接后只执行doSomething()这个函数,页面不会跳到其他地方。
如果想做一个链接点击后不做任何事情,只触发一个函数,可以设置其属性 href = "#",但这种方式中,#包含了一个位置信息,默认的锚点是#top 也就是网页的上端。会刷新页面。
void(0)不刷新页面,所以一般ajax的页面都会有很多void(0),把鼠标放在一些网页的链接上,很多时候,左下角都是javascript:void(0);,就是这么做的。一句话就是:href="#"这种形式会整体刷新页面,而href="javascript:void(0)" 不会。
想点击链接后不做任何事情,可以下面三种方式
<a href="javascript:void(0);" >test</a> <a href="javascript:;" >test</a> <a href="####" >test</a>