我在HTML页面中见过很多这样的链接:
<a href='#' onclick='someFunc(3.1415926); return false;'>Click here !</a>
这里return false的效果是什么?
而且,我通常不会在按钮中看到这种情况。
这在任何地方都指定了吗?在w3.org的一些规范中?
我在HTML页面中见过很多这样的链接:
<a href='#' onclick='someFunc(3.1415926); return false;'>Click here !</a>
这里return false的效果是什么?
而且,我通常不会在按钮中看到这种情况。
这在任何地方都指定了吗?在w3.org的一些规范中?
当前回答
什么“返回错误”是真的做?
当你调用它时,Return false实际上做了三件非常独立的事情:
event.preventDefault (); event.stopPropagation (); 停止回调执行并在调用时立即返回。
更多信息请参见jquery-events-stop- misuse -return-false。
例如:
当单击此链接时,返回false将取消浏览器的默认行为。
<a href='#' onclick='someFunc(3.1415926); return false;'>Click here !</a>
其他回答
浏览器黑客: http://jszen.blogspot.com/2007/03/return-false-to-prevent-jumping.html
当使用表单时,我们可以使用'return false'来阻止提交。
function checkForm() {
// return true to submit, return false to prevent submitting
}
<form onsubmit="return checkForm()">
...
</form>
你可以从下面的例子中看出区别:
<a href="http://www.google.co.uk/" onclick="return (confirm('Follow this link?'))">Google</a>
单击“ok”返回true,然后是链接。点击“取消”返回false,并且不遵循链接。如果javascript被禁用,链接是正常的。
在onclick事件中使用return false将阻止浏览器处理执行堆栈的其余部分,包括遵循href属性中的链接。
换句话说,添加return false会使href停止工作。在你的例子中,这正是你想要的。
在按钮中,这是不必要的,因为onclick是它将执行的所有操作——没有href来处理和前往。
我相信它会导致标准事件不发生。
在你的例子中,浏览器不会尝试转到#。