我是网页设计和javascript的新手,我不明白为什么网页设计师使用下面的void(0)语法是常见的:
<a onclick="this.blur();return false;" href="javascript:void(0);" class="btn">
由于这实际上显示在浏览器的左下角,为什么不提出一种方法使其更加用户友好?也许是因为设计师没有时间做这种UI调整。
作为上述语法的替代方案,您会建议什么对最终用户更有帮助?
答案 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)。