示例:
$("#testdiv").click( function( )
{
$("#testdiv2").show( "slow" );
return false; // why is this statement required?
} );
答案 0 :(得分:6)
return false;
会阻止锚标记执行默认操作
jQuery替代方案是preventDefault()
$("#testdiv").click(function(e) {
e.preventDefault();
$("#testdiv2").show("slow");
});
答案 1 :(得分:5)
在事件处理中返回false会做两件事:
如果您有锚标记,则会阻止锚点跟踪链接
它将停止事件传播(冒泡)。例如
< div id='outer' onclick="alert('hello')" >
< div id='inner'>
<!-- Your stuff -->
< /div>
< /div>
和
$("#inner").click(function(event){
// Your code
return false
})
如果你的函数返回false,当有人点击内部div时,alert("hello")
不会被调用。返回false与调用
event.preventDefault();
event.stopPropagation();
一句警告,此行为仅适用于jquery
event.preventDefault() vs. return false
来源:John Resig
答案 2 :(得分:1)
没有返回,锚标记将执行它通常做的任何事情。例如,如果您执行<a href="#">
,它将滚动到页面顶部。由于某些浏览器不会视为特殊,除非/直到有'href'属性,<a href="#">
是制作javascript操作链接的最常用方法。
答案 3 :(得分:1)
没有要求使用jQuery的click事件处理程序返回false。只有在您希望阻止默认锚操作发生时才需要它。如果您想在仍然允许默认操作发生的情况下进行操作,例如使用新标识<a href="#somelocation">click</a>
更新location.hash,然后对click事件执行某些操作,则不需要提供return false;
。