"javascript:void(0)" 是什么意思?

<a href="javascript:void(0)" id="loginlink">login</a>

我见过很多次这样的`href',但我不知道这到底是什么意思。

解决办法

void操作符评估给定的 表达式,然后返回 "未定义"。

void'运算符通常只用于 以获得undefined的原始 值,通常使用"void(0)"(它 相当于"void 0")。在这些 的情况下,可以使用全局变量[undefined`]1。 可以用它来代替(假设它已经 没有被分配到一个非默认的 值)。

这里提供了一个解释。void运算符

你想对链接的href'这样做的原因是,通常情况下,javascript:URL会将浏览器重定向到评估该JavaScript结果的纯文本版本。但是如果结果是undefined,那么浏览器就会停留在同一个页面上。void(0)只是一个简短的、简单的脚本,评估结果是undefined`。

评论(26)

这意味着它不会做什么。这是一种试图让链接不 "导航 "到任何地方的做法。但这并不是正确的方法。

实际上你应该在 "onclick "事件中 "返回false",就像这样。

<a href="#" onclick="return false;">hello</a>

通常情况下,如果链接正在做一些 "JavaScript-y "的事情,就会使用这个方法。比如发布一个AJAX表单,或者交换一个图片,或者其他。在这种情况下,你只需让任何被调用的函数返回 "false"。

然而,为了使你的网站变得更棒,一般来说,如果浏览者选择不运行JavaScript,你会包含一个做同样动作的链接。

<a href="backup_page_displaying_image.aspx"
   onclick="return coolImageDisplayFunction();">hello</a>
评论(17)

你应该在你的a标签上始终有一个href。调用一个返回'undefined'的JavaScript函数就可以了。链接到'#'也可以。

在Internet Explorer 6中,没有href的锚点标签不会得到a:hover样式的应用。

是的,这很糟糕,是对人类的一种轻微犯罪,但Internet Explorer 6总体上也是如此。

我希望这有帮助。

Internet Explorer 6实际上是对人类的重大犯罪。

评论(0)