JavaScript中javascript:void(0)的用法与原理详解

作者:页面旅途时间:2026-10-29 13:33:37浏览:199

本文详细解析javascript:void(0)在HTML链接中的应用。作为JavaScript操作符,它用于执行表达式但不返回值,常用于阻止链接默认跳转行为。文章对比了href="#"与void(0)的区别,指出前者会触发页面滚动而后者不会。结合Ajax和表单提交场景,说明其在无刷新交互中的重要性,并提供具体代码示例供参考。

javascript:void(0)的基本用法

javascript:void(0) 表示不执行任何操作。例如:

代码如下:

<a href="javascript:void(0);" onclick="alert('ok');"></a>

此处表示链接不跳转,仅执行 onClick 事件。

使用过 Ajax 的人常常见到此类代码:

代码如下:

<a href="javascript:doTest2();void(0);">here</a>

void操作符的原理与格式

但 void(0) 在此处的具体含义是什么?

Javascript 中 void 是一个操作符,用于计算表达式但不返回值。

void 操作符的用法格式如下:

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

expression 是需计算的标准 Javascript 表达式。圆括号可选,但建议保留以提高可读性。(实现版本 Navigator 3.0)

可使用 void 操作符指定超级链接。表达式会被计算,但当前文档不会装入任何内容。

以下代码创建了一个超级链接,点击后不会发生任何页面变化。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。

代码如下:

<A HREF="javascript:void(0)">单此处什么也不会发生</A>

以下代码创建了一个超级链接,点击时会提交表单。

代码如下:

<A HREF="javascript:void(document.form.submit())">
单此处提交表单</A>

href="#"与void(0)的区别

a href=# 与 a href=javascript:void(0) 的区别及链接的几种办法

# 包含了一个位置信息

默认的锚是 #top,即网页的上端

而 javascript:void(0) 仅仅表示一个死链接

这就是为什么有时候页面很长,浏览链接明明是 # 却

跳动到了页首

而 javascript:void(0) 则不会如此

所以调用脚本的时候最好用 void(0)

或者 <input onclick>

<div onclick> 等

其他链接跳转方式与总结

链接的几种办法

1. window.open(''url'')

2. 用自定义函数


<script>
   function openWin(tag,obj)
   {
    obj.target="_blank";
    obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
    obj.click();
   }
  </script>

<a href="javascript:void(0)" onclick="openWin(3,this)">徐州</a>

window.location.href=""

总结:

1. void(0) 用于执行某些处理,但在不整体刷新页面的情况下。若需对页面进行 refresh,则需谨慎使用。

2. 我们可以这样用 <a href="javascript:void(document.form.submit())">,这句话会进行一次 submit 操作。什么情况下用 void(0) 比较多呢?无刷新,当然是 Ajax 了。看一下 Ajax 的 web 页面的话,一般都会看到有很多的 void(0),:) 。所以在使用 void(0) 之前,最好先想一想,这个页面是否需要整体刷新。

3. 说白了,href="#" 这种形式会整体刷新页面,而 href="javascript:void(0)" 则不会

以上内容介绍了 js 中 javascript:void(0) 的含义,希望对大家有所帮助。

作者最新文章