为什么使用'href ="javascript:void(0);"'而不是更友好的用户?

goo*_*ate 5 javascript user-interface onclick void

我是网页设计和javascript的新手,我不明白为什么网页设计师使用下面的void(0)语法是常见的:

 <a onclick="this.blur();return false;" href="javascript:void(0);" class="btn">
Run Code Online (Sandbox Code Playgroud)

由于这实际上显示在浏览器的左下角,为什么不提出一种方法使其更加用户友好?也许是因为设计师没有时间做这种UI调整.

作为上述语法的替代方案,您会建议哪些对最终用户更有帮助?

Que*_*tin 8

理想的解决方案是建立有用的东西.

本文讨论利用Yahoo用户界面库javascript库进行渐进增强,以提高javascript模拟交互事件的可访问性.

引用:Christian Heilmann


fal*_*tro 1

如果这只是最终用户的帮助,那么这可能有用吗?

<a onclick="this.blur();return false;" href="#Click to hide" class="btn">
Run Code Online (Sandbox Code Playgroud)

因为无论如何你都会返回 false 它实际上可能包含任何内容

<a onclick="this.blur();return false;" href="Click to hide" class="btn">
Run Code Online (Sandbox Code Playgroud)

但是,我认为原因是,如果禁用了 javascript,它实际上不会产生任何效果,而不是在那里编写其他内容(第一个示例将更改 url 的哈希/锚点部分,第二个示例将更改 url 的哈希/锚点部分)可能会导致错误)。不管怎样,它们看起来仍然很有趣(前面加上原始网址)。

话又说回来,如果这个东西只是由于 javascript 才可见,我会说继续假设 javascript 可用。尽管为了安全起见,我仍然会犯错误并使用哈希值......:)

编辑
我刚刚意识到并非所有浏览器都在状态栏中显示 href 的“#”部分(有浏览器这样做吗?),所以如果您不使用锚点进行任何操作,我会使用javascript:void(0);or ,并且#将 title 属性设置为描述性的内容。

编辑
我认为我有点太快了......我认为这javascript:void确实是为了避免产生任何影响。然而,更好的解决方案是根本不使用a-tags (我通常只是将 onclick 放在任何东西上,实际上我通常使用 jquery,然后将其添加到某些类或 ID)。