我看的这篇文章介绍的很少,只是一个简单的说明,在网页中,很多人把void当成了一个阻止默认事件发生的工具,因为他没有返回值,所以使用的时候可以肆无忌惮一点。
原文如下:
Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
注:expression 是一个要计算的 Javascript 标准的表达式,圆括号是可选的。
当使用 void 操作符指定的超链接时,表达式会被计算但是不会在当前文档处装入任何内容。
举例:
XML/HTML代码
- <A HREF="javascript:void(0)">单此处什么也不会发生</A>
- <A HREF="javascript:void(document.form.submit())">单此处提交表单</A>
跳转的几种办法:
XML/HTML代码
- 1.window.open("url")
- 2. 用自定义函数
- <script>
- function openWin(obj,target,args)
- {
- obj.target="_blank";
- obj.href = target+"?stationno="+args;
- obj.click();
- }
- </script>
- <a href="javascript:void(0)" onclick="openWin(this,"…………",3)">XXXX</a>
- 3.window.location.href="";
上述第二种就是所谓利用void来阻止默认链接事情的发生。
还有一种情况就是在href里加入"###",即href="###",为什么是3个而不是一个?这也有一个缘故,请查看:FORM不能跳转,当找不到相应的锚点时,页面才不会往上滚动,如果指定锚点,而锚点名称为空,页面会滚动到顶部。###,其实只是指定一个不存在的锚点而已(又写的乱了)