5

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

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

既然这实际上显示在浏览器的左下角,为什么不想办法让它对用户更友好呢?也许是因为设计师没有时间做这种 UI 调整。

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

4

2 回答 2

8

理想的解决方案是建立在可行的基础上。

本文讨论了利用 Yahoo 用户界面库 javascript 库来改进 javascript 模拟交互事件的可访问性的渐进增强。

引用:克里斯蒂安·海尔曼

于 2010-08-29T16:50:48.467 回答
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 的哈希/锚点部分,第二个示例将更改可能会导致错误)。无论哪种方式,它们仍然看起来很有趣(以原始网址开头)。

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

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

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

于 2010-08-29T16:44:01.843 回答