javascript:void(...
Javascript中void是⼀个操作符,该操作符指定要计算⼀个表达式但是不返回值。
void 操作符⽤法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression 是⼀个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是⼀个好习惯。
你以使⽤ void 操作符指定超级链接。表达式会被计算但是不会当前⽂档处装⼊任何内容。
⽰例-点击超链接不跳转
1:<a href="####"></a>
2:<a href="javascript:void(0)"></a>
3:<a href="javascript:void(null)"></a>
4:<a href="#" onclick="return false"></a>
点击链接后,页⾯会向上滚到页⾸,# 默认锚点为 #TOP(实际测试发现滚动条会滚到顶端)⽽以上四种⽅法仅仅表⽰⼀个死链接都表⽰是⼀个死链接不会跳转也不会返回到顶部.
⽰例-为什么location.href不⾃动跳转?
<a href="javascript:void(0)" onclick="delete('123')">删除</a>
function delete(id){
if(confirm("确实要删除[为什么location.href不⾃动跳转?]吗?")) {
location.href="/delete.jsp?id=" + id;
}
}
以上代码不管如何检查都没有任何问题,⽽location.href="/delete.jsp?id=" + id;在别的地⽅都好使,为什么这段代码就⾏呢?
原因是那个void(0)把代码改成:
<a href="javascript:delete('123')">删除</a>function delete(id) {
if(confirm("确实要删除[为什么location.href不⾃动跳转?]吗?")) {
location.href="/delete.jsp?id=" + id;
}
}
我们发现,页⾯⽴即就跳转了,能正常删除相应的数据.为什么呢?
因为void是⼀个操作符,会计算⼀个表达式,但不会返回值,当然也不会改变当前页⾯的任何内容,也就不会正常的跳转.
说明
void 运算符对表达式求值,并返回 undefined。在希望求表达式的值,但⼜不希望脚本的剩余部分看见这个结果时,该运算符最有⽤。
链接(href)直接使⽤javascript:void(0)在IE中可能会引起⼀些问题,⽐如:造成gif动画停⽌播放等,所以,最安全的办法还是使⽤“#”。为防⽌点击链接后跳转到页⾸,onclick 事件 return false即可。
PS:href=#与href=javascriptvoid(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)">LINK_TEST</a>
window.location.href=""
-
------------------------------------------------------------------------------
如果是个# ,就会出现跳到顶部的情况,个⼈收藏的⼏种解决⽅法:
1:<a href="####"></a>
javascript void 0 是什么意思2:<a href="javascript:void(0)"></a>
3:<a href="javascript:void(null)"></a>
4:<a href="#" onclick="return false"></a>
5:<span ></span>(好像在FF中不能显⽰)
-------------------------------------------------------------------------------
以上内容是⼩编给⼤家介绍的javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别,希望对⼤家有所帮助。