【发布时间】:2011-01-29 14:09:09
【问题描述】:
在 1990 年代,有一种将 Javascript 代码直接放入 <a> href 属性的时尚,如下所示:
<a href="javascript:alert('Hello world!')">Press me!</a>
然后我突然停下来看它。它们都被以下内容所取代:
<a href="#" onclick="alert('Hello world!')">Press me!</a>
对于仅用于触发 Javascript 代码且没有真正的href 目标的链接,为什么鼓励使用onclick 属性而不是href 属性?
【问题讨论】:
-
它没有被弃用.. 只是不好的做法.. 使用 onclick 属性也是如此.. 搜索
unobtrusive javascript和progressive enhancement以获得最佳做法.. -
@Gaby:那么“不良做法”和“已弃用”有什么区别?
-
deprecated 意味着这些功能将来很可能完全不受支持..
-
@Gaby:好吧,改正标题。
-
我什至会考虑使用
<a>标签来假装它是一个页面链接的坏习惯(或实践?),而实际上它只是一个“JS 动作的触发器”。我会考虑使用<span class="js-trigger">Press me</span>并通过将相关的 javascript 代码放在单独的 JS 文件中来解耦。
标签: javascript html href