我在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>

其他回答

返回false可以防止页面被导航,也可以防止不必要地将窗口滚动到顶部或底部。

onclick="return false"

我相信它会导致标准事件不发生。

在你的例子中,浏览器不会尝试转到#。

什么“返回错误”是真的做?

当你调用它时,Return false实际上做了三件非常独立的事情:

event.preventDefault (); event.stopPropagation (); 停止回调执行并在调用时立即返回。

更多信息请参见jquery-events-stop- misuse -return-false。

例如:

当单击此链接时,返回false将取消浏览器的默认行为。

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

默认情况下,当您单击按钮时,无论您输入了什么值,表单都将被发送到服务器。

然而,这种行为在大多数情况下不太合适,因为我们可能想在发送到服务器之前做一些检查。

因此,当侦听器收到“false”时,提交将被取消。基本上,它的目的是在前端做一些检查。

你可以从下面的例子中看出区别:

<a href="http://www.google.co.uk/" onclick="return (confirm('Follow this link?'))">Google</a>

单击“ok”返回true,然后是链接。点击“取消”返回false,并且不遵循链接。如果javascript被禁用,链接是正常的。