我使用firebug检查了hotmail中的收件箱链接,看到了类似的内容:
<a ... href="javascript:; .... />
当我点击链接时,我无法弄清楚回发是如何实现的。什么是“javascript:;”是什么意思,虽然它没有提到任何功能?
答案 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中更高的布线,并使用事件冒泡捕获此链接。