空的javascript链接是什么意思?

时间:2010-12-30 13:54:49

标签: javascript

我使用firebug检查了hotmail中的收件箱链接,看到了类似的内容:

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

当我点击链接时,我无法弄清楚回发是如何实现的。什么是“javascript:;”是什么意思,虽然它没有提到任何功能?

2 个答案:

答案 0 :(得分:5)

javascript:部分有一个伪协议,意味着URI应该被解释为JavaScript代码。紧随其后的;是语句终止符。假设没有其他内容,它基本上使得链接在点击时什么都不做。

如果点击链接时发生了某些事情,我猜测click事件处理程序已附加到它或其祖先元素之一。 click在DOM中冒泡,因此您不必在元素本身上实际观察它。

您不一定会在HTML中看到这些事件处理程序附件;该页面可能会使用不显眼的技术来稍后连接处理程序。

Gratuitous live example #1(不引人注意地挂钩链接上的click

Gratuitous live example #2(在祖先元素上挂钩click

答案 1 :(得分:2)

它正在评估表达式;,它没有做任何事情。它就在那里,以便在href中有某些(否则它将不像链接那样)。

实际行为正在其他地方进行。例如,它可能与jQuery语句类似:$('#inboxLink').click(goToInboxFunction)

或者,正如@T.J. Crowder指出的那样,click处理程序可以在DOM中更高的布线,并使用事件冒泡捕获此链接。