我在HTML页面中见过很多这样的链接:

<a href='#' onclick='someFunc(3.1415926); return false;'>Click here !</a>

这里return false的效果是什么?

而且,我通常不会在按钮中看到这种情况。

这在任何地方都指定了吗?在w3.org的一些规范中?


当前回答

当使用表单时,我们可以使用'return false'来阻止提交。

function checkForm() {
    // return true to submit, return false to prevent submitting
}
<form onsubmit="return checkForm()">
    ...
</form>

其他回答

当使用表单时,我们可以使用'return false'来阻止提交。

function checkForm() {
    // return true to submit, return false to prevent submitting
}
<form onsubmit="return checkForm()">
    ...
</form>

返回false表示不采取默认操作,在<a href>的情况下,默认操作是遵循链接。当你对onclick返回false时,href将被忽略。

在onclick事件中使用return false将阻止浏览器处理执行堆栈的其余部分,包括遵循href属性中的链接。

换句话说,添加return false会使href停止工作。在你的例子中,这正是你想要的。

在按钮中,这是不必要的,因为onclick是它将执行的所有操作——没有href来处理和前往。

返回false将阻止导航。否则,位置将成为someFunc的返回值

返回false将在javascript运行后停止跟踪超链接。这对于优雅地降级的不引人注目的javascript非常有用——例如,你可以有一个缩略图,使用javascript打开一个全尺寸图像的弹出窗口。当javascript被关闭或图像被中间点击(在一个新的选项卡中打开)时,它会忽略onClick事件,只是正常地以完整尺寸的图像打开图像。

如果没有指定return false,图像将正常启动弹出窗口并打开图像。有些人不使用return false,而是使用javascript作为href属性,但这意味着当javascript被禁用时,链接将什么都不做。