我使用javascript:void(0)
.
三个原因.鼓励在开发人员团队中使用#
必然会导致使用像这样调用的函数的返回值:
function doSomething() {
//Some code
return false;
}
但是他们忘记在onclick中使用return doSomething()
并且只使用doSomething()
.
避免#
的第二个原因是,如果调用函数抛出错误,最终return false;
将不执行.因此开发人员也必须记得在调用函数中适当处理任何错误.
第三个原因是有些情况下动态分配onclick
事件属性.我更喜欢能够调用函数或动态分配它,而不必专门为一种附件方法或另一种方法编码函数.因此,HTML标记中的onclick
(或任何东西)如下所示:
onclick="someFunc.call(this)"
要么
onclick="someFunc.apply(this, arguments)"
使用javascript:void(0)
避免了所有上述头痛,我没有找到任何下滑的例子.
所以,如果你是一个单独的开发人员,那么你可以明确地做出自己的选择,但是如果你作为一个团队工作,你必须指定任何一个州:
使用href="#"
,确保onclick
总是包含return false;
,任何调用的函数都不会抛出错误,如果您动态地将函数附加到onclick
属性,确保它以及不抛出错误返回false
.
要么
使用href="javascript:void(0)"
第二个问题显然比较容易沟通。