很多次,我在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的某些规格中?
返回false将阻止导航。否则,该位置将成为someFunc的返回值
在JavaScript运行之后,返回false将停止遵循超链接。这对于可以正常降级的不引人注意的javascript很有用-例如,您可以拥有一个使用javascript打开全尺寸图像弹出窗口的缩略图。当关闭javascript或单击鼠标中键(在新选项卡中打开)时,此操作将忽略onClick事件,并通常以全尺寸图像的形式打开图像。
如果未指定return false,则图像将同时启动弹出窗口并正常打开图像。某些人不是使用return false而是将javascript用作href属性,但这意味着禁用javascript时,链接将无效。
这样return false
可以防止页面被浏览以及窗口不必要地滚动到顶部或底部。
onclick="return false"
return false表示不采取默认操作,如果是,<a href>
则默认操作是跟随链接。当您向onclick返回false时,href将被忽略。
在onclick事件中使用return false可以阻止浏览器处理其余的执行堆栈,包括跟踪href属性中的链接。
换句话说,添加return false会使href停止工作。在您的示例中,这正是您想要的。
在按钮中,这是没有必要的,因为onclick就是它将执行的全部内容-没有href可以处理和转到。
我相信这不会导致标准事件的发生。
在您的示例中,浏览器将不会尝试转到#。
从JavaScript事件中将false调整为false通常会取消“默认”行为-在链接的情况下,它告诉浏览器不要遵循该链接。
事件处理程序的返回值确定默认浏览器行为是否也应发生。在单击链接的情况下,将在该链接之后,但是在表单提交处理程序中最明显的区别是,如果用户输入信息有误,则可以取消表单提交。
我不相信对此有W3C规范。像这样的所有古代JavaScript接口都被赋予了“ DOM 0”的昵称,并且大多未指定。阅读旧的Netscape 2文档可能会有些运气。
实现此效果的现代方法是调用event.preventDefault()
,这是在DOM 2事件规范中指定的。
浏览器黑客:http : //jszen.blogspot.com/2007/03/return-false-to-prevent-jumping.html