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

时间:2010-08-29 16:41:12

标签: javascript user-interface onclick void

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

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

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

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

2 个答案:

答案 0 :(得分:8)

理想的解决方案是build on things that work

本文讨论利用Yahoo User Interface Library javascript库进行渐进增强,以改善javascript模拟交互事件的可访问性。

引用:Christian Heilmann

答案 1 :(得分:1)

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

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

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

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

但是,我认为它的原因是,如果你禁用了javascript,它实际上没有任何效果,而不是在那里编写其他内容(第一个例子将改变url的hash / anchor-part) ,第二个可能会导致错误)。无论哪种方式,它们看起来仍然很有趣(以原始网址为前缀)。

然后,再次,如果这个东西只是由于javascript可见,我会说继续并假设javascript可用。虽然我仍然在安全方面犯错并且仍然使用哈希......:)

修改的:
我刚才意识到并不是所有浏览器都会在状态栏中显示href的'#'部分(任何浏览器都会这样做吗?),所以我会使用javascript:void(0);或只是#如果你'不要使用任何锚点,而是将title属性设置为描述性的。

修改的:
我想我有点太快......我认为javascript:void确实是为了避免产生任何影响。但是,更好的解决方案是不要使用a - 标签(我通常只是将onclick打到任何东西上,实际上我通常使用jquery,然后将其添加到某些类或ID)。