为什么在href中使用javascript:void(0)而不是#?
我可以在html页面上看到很多为什么在href中使用javascript:void(0)而不是#?,javascript,Javascript,我可以在html页面上看到很多。据我所知,返回undefined,它不起任何作用。这与有何不同?可能会跳转到页面中的其他位置。此外,它还修改URL <a href="#">link</a> 将#添加到浏览器url并跳到页面顶部 <a href="javascript:void(0);">link</a> 简单地“忽略”链接点击 <a href="#" onclick="return false;">link</a>
。据我所知,返回undefined
,它不起任何作用。这与
有何不同?
可能会跳转到页面中的其他位置。此外,它还修改URL
<a href="#">link</a>
将#添加到浏览器url并跳到页面顶部
<a href="javascript:void(0);">link</a>
简单地“忽略”链接点击
<a href="#" onclick="return false;">link</a>
也会忽略href
不要忘记,在某些情况下,javascript可能会被禁用(非常罕见)。href=“javascript:void(0);
适用于您不希望它做任何事情,但仍然看起来像链接的情况。(蓝色和下划线)
就像:javascript:returnundefined;
为什么?
因为有人可能会这样做:undefined=function(){}
#
-是一个锚,它会将您发送到页面顶部。#
跳到页面顶部。#在Firefox和chrome等现代浏览器中链接。这会导致页面查找可用链接(如果不可用,则跳到顶部)在页面中,滚动到区域。但是Void不执行任何操作。与此相关的另一个问题是:不在中包含href属性如何?例如,vs修改url是可以的,但跳转不是。如果只是“#“那么跳到页面的顶端了,是吗?我很困惑,你的评论有点不一致。你说跳转不好,然后跳转到页面顶部。我不明白,这就是为什么我们使用javascript:void(0)不构成jumpMate,你失去了情节…看起来你是在另一个对话中添加:void 0
本质上是未定义的
-这就是为什么浏览器什么都不做。可能类似于href=“\
还应避免使用onclick=“return false;”“
,因为这很显眼!
<a href="javascript:void(0);">link</a>