我是网页设计和 javascript 的新手,我不明白为什么网页设计师经常使用下面的 void(0) 语法:
<a onclick="this.blur();return false;" href="javascript:void(0);" class="btn">
既然这实际上显示在浏览器的左下角,为什么不想办法让它对用户更友好呢?也许是因为设计师没有时间做这种 UI 调整。
作为对最终用户更有帮助的上述语法的替代方法,您会建议什么?
我是网页设计和 javascript 的新手,我不明白为什么网页设计师经常使用下面的 void(0) 语法:
<a onclick="this.blur();return false;" href="javascript:void(0);" class="btn">
既然这实际上显示在浏览器的左下角,为什么不想办法让它对用户更友好呢?也许是因为设计师没有时间做这种 UI 调整。
作为对最终用户更有帮助的上述语法的替代方法,您会建议什么?
如果它只是最终用户的帮助,那么这可能会吗?
<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)。