为什么开发人员使用href equals javascript?

时间:2013-02-10 10:03:06

标签: javascript href

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

例如:A标签的内容:

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

好问题。这样他们的链接就什么都不做了。开发人员可能正在使用Jquery的click event或类似的东西动态添加javascript函数。

这似乎是人们的传统坏习惯。他们可能想要一个href的风格,但后来不想要它的功能。您可以在不使用href的情况下轻松完成此操作。在某种程度上,他们说“这是链接的价值”然后立即“忽略我的链接的价值”。

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

According the the w3schools href的值应该是url或脚本。有人做href="javascript:;"

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

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