我在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的一些规范中?
当前回答
我很惊讶没有人提到onmousedown而不是onclick。的
onclick = '返回假'
没有捕捉浏览器的默认行为,导致(有时不需要的)文本选择发生鼠标下拉,但是
onmousedown = '返回假'
所做的事。
In other words, when I click on a button, its text sometimes becomes accidentally selected changing the look of the button, that may be unwanted. That is the default behaviour that we are trying to prevent here. However, the mousedown event is registered before click, so if you only prevent that behaviour inside your click handler, it will not affect the unwanted selection arising from the mousedown event. So the text still gets selected. However, preventing default for the mousedown event will do the job.
参见event.preventDefault() vs. return false
其他回答
我相信它会导致标准事件不发生。
在你的例子中,浏览器不会尝试转到#。
浏览器黑客: http://jszen.blogspot.com/2007/03/return-false-to-prevent-jumping.html
事件处理程序的返回值决定是否也应该发生默认的浏览器行为。在单击链接的情况下,这将跟随链接,但在表单提交处理程序中最明显的区别是,如果用户在输入信息时犯了错误,您可以取消表单提交。
我不相信有一个W3C规范。像这样的所有古老的JavaScript接口都被冠以“DOM 0”的绰号,而且大多数都没有具体说明。您可以有幸阅读旧的Netscape 2文档。
实现这种效果的现代方法是调用event.preventDefault(),这在DOM 2 Events规范中指定。
返回false将阻止导航。否则,位置将成为someFunc的返回值
返回false可以防止页面被导航,也可以防止不必要地将窗口滚动到顶部或底部。
onclick="return false"