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