0

为什么开发人员使用href="javascript:;"

例如:A 标签的内容:

<a class="anchor" title="title" href="javascript:;" id="someId">...</a>
4

3 回答 3

1

伪协议告诉浏览器下面javascript:是点击链接时应该执行的 JavaScript 代码。您的示例中接下来的内容是无操作的,因此单击该链接不会执行任何操作。通常,当链接不用作链接而是用作按钮时,将使用此选项,其中编码器想要的实际行为由click处理程序指定。

于 2013-02-10T10:05:17.870 回答
0

根据我的使用经验,如果人们使用<a href="www.google.com">我可以右键单击并在新选项卡上打开它。但如果是href=javascript:openLink()我无法在新标签页上打开它

于 2013-02-10T10:08:00.223 回答
0

好问题。这样他们的链接就不会做任何事情。开发人员可能正在使用 Jquery 的点击事件或类似的东西动态添加 javascript 函数。

这似乎是人们遗留下来的坏习惯。他们可能想要 href 的样式,但不想要它的功能。您可以轻松地做到这一点,而无需使用 href。在某种程度上,他们说“这是链接的价值”,然后立即“忽略我的链接的价值”。

这里有一个很好的讨论:Unobtrusive Javascript

根据 w3schools,href 的值应该是 url 或脚本。当有人这样做href="javascript:;"

他们正在使用什么都不做的脚本。他们只是这样做,以便他们可以使用 href 提供的样式/标签...在我看来,应该以另一种方式完成,例如使用 css 类。

同样根据w3schools,如果 href 不存在,则该标签不能使用某些其他属性,但在 HTML5 中,该标签只能用于超链接。

于 2014-12-10T20:46:21.980 回答