什么是href=javascript:;

什么是href=javascript:;,javascript,Javascript,在我正在浏览的代码中,有一个链接has href=javascript:;在代码中。单击它会打开一个灯箱,显示带有关闭按钮的消息。它是如何完成的。我认为这使用了dojo,它所做的只是调用一个Javascript函数,该函数执行一些Javascript。也许将代码作为示例发布会有所帮助。href=“javascript:somefunction();”只是指向某些javascript代码的函数的一种方式 您也可以这样做:href=“#”onclick=“somefunction();return

在我正在浏览的代码中,有一个链接has href=javascript:;在代码中。单击它会打开一个灯箱,显示带有关闭按钮的消息。它是如何完成的。我认为这使用了dojo,它所做的只是调用一个Javascript函数,该函数执行一些Javascript。也许将代码作为示例发布会有所帮助。

href=“javascript:somefunction();”
只是指向某些javascript代码的函数的一种方式

您也可以这样做:
href=“#”onclick=“somefunction();return false;”

没什么特别的。它所做的只是调用函数或javascript代码。它只是告诉元素使用javascript

或者像前面所说的那样,使用
href=“javascript:void(0);”onclick=“somefunction();”


<a href="javascript:void(0)" onClick="callFunction();">
调用callFunction()方法onClick

这也可以作为一个工具

<a href="javascript:callFunction();">


<a href="#" onClick="callFunction();">

这也会调用javascript callFunction()方法,但它会在URL中添加#,以避免这种使用

<a href="javascript:void(0)" onClick="callFunction();">

我相信这只是表明您的链接将执行一些javascript功能。通常,您可以通过连接链接上的事件(例如OnClick/OnMouseMove)来耦合此代码:

<a href="javascript:;">..</a>

实际上什么也不做。通常,此Nothing链接允许某些javascript代码使用onclick事件。onclick事件触发窗口,该窗口可能来自django、jquery或任何地方。

它被称为javascript伪协议。它的目的是用JavaScript计算的值替换文档的内容。出于以下几个原因,最好不要使用它:

  • 如果禁用了JavaScript,则会有一个无处可用的链接
  • 如果JavaScript返回一个值,页面内容将被该值替换

据推测,它是一个指向可通过“javascript”协议访问的资源的URL,就像您可以使用“http:”或“ftp:”一样。我不知道这是否是一个实际的标准,但大多数浏览器都知道URL必须提供给JavaScript解释器。因此,在实践中,您可以使用它生成由链接触发的JavaScript代码,例如:

<a href="javascript:alert('Hello!')">Say hello</a>

当然,在HTML标记中编写JavaScript代码既不干净也不可维护。但这种可能性是存在的

那么
href=“javascript:;”
呢?如果您密切关注,您会意识到“;”是一个JavaScript代码片段,它没有任何作用。这就是重点。这通常用于具有指向任何地方的链接。主要目的是单击它会触发在其他地方定义的JavaScript代码(通过onclick事件处理程序)


最后但并非最不重要的一点是,您经常会看到类似于
onclick=“javascript:doStuff()”
的内容。
onclick
HTML属性需要Javascript代码,而不是URL。在这种情况下,
javascript:
前缀是完全多余的。但是,代码仍在运行。它碰巧是JavaScript语法中的一个标签;-)

编辑:

我刚刚添加了这个链接,它解释了dojo如何与OnClik事件一起工作:

好的,为了方便起见,这里的所有答案都是很好的答案,如果您使用的是Dojo

和当然没有动作

您的代码中可能有类似的内容:

<a href="javascript:;" id="some" class="some_too" rel="some_too_too">


Dojo只需保留
idrel标记并执行该功能

imho
返回falsehref=“#”
中缺少code>,您也可以这样做:
href=“#”onclick=“sommefunction();”
是的,两者都可以,但是是的,binaryLV是正确的,它应该返回false,因为没有指定url。更正了这个。干杯:)尽管您可以指定
javascript:void(0)
并且您不必担心由此返回false。而且,它是
onclick
而不是
onclick
请确保按原样使用正确的属性,否则,您的网页上会出现XHTML验证错误。有点奇怪,通常,代码如david所述,链接显示为url还是图像?我知道lightbox在图像上使用“rel”属性来显示奇特的lightbox效果,并让图像Popuscue在代码的其他地方可能有一个addEventListener。@teehoo这些是否响应href=javascript;那么,这些答案是否为您的问题提供了答案?