将“return false”添加到点击事件侦听器有什么影响?

2022-08-29 23:28:50

很多时候,我在HTML页面中看到这样的链接:

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

在那里有什么影响?return false

另外,我通常不会在按钮中看到这一点。

是否在任何地方指定了此项?在 w3.org 中的某些规格中?


答案 1

事件处理程序的返回值确定是否也应发生默认浏览器行为。在单击链接的情况下,这将是跟随链接,但差异在表单提交处理程序中最为明显,如果用户在输入信息时出错,则可以取消表单提交。

我不相信有W3C规范。所有像这样的古代JavaScript接口都被赋予了“DOM 0”的昵称,并且大多未指定。阅读旧的Netscape 2文档时,您可能会有一些运气。

实现此效果的现代方法是调用 ,这在 DOM 2 事件规范中指定。event.preventDefault()


答案 2

您可以看到以下示例的区别:

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

单击“确定”返回 true,并跟踪链接。单击“取消”返回 false,并且不跟踪链接。如果禁用了javascript,则链接被正常跟踪。