Javascript中return和return false在什么情况下使用?
比如下面这个使用了return false,可是看不明白问什么要使用。
$(function () {
$("body").on("click", "#refreshimg", function () {
$.post("newsession.php");
$("#captchaimage").load("image_req.php");
return false;
});
});
同样的,有时看到这样的代码:
$(function () {
$("body").on("click", "#foo", function () {
//...
//...
return;
});
});
不知道为什么,请大神帮解释一下。
1、什么情况下使用?
2、两者的区别是什么?
jquery的return false有特殊作用。
普通js代码return false就是字面意思,return就是return undefined;
这不是javascript原生的用法,而是jQuery里用来阻止浏览器的默认行为的。
准确来说干了3件事,阻止默认行为,取消事件冒泡,以及停止回调执行立即返回。
你所提供的场景,return false是阻止浏览器默认行为和取消时间冒泡,另外还兼顾了停止执行函数。
阻止默认行为,取消事件冒泡,停止执行函数。我一般用在里加click事件,就如楼上所说的。
return false
会阻止后续默认动作的执行。
比如,一个<a>
点击后打开一个链接,如果你给这个<a>
添加一个click
事件,在click
事件中return false
,那么你点击这个<a>
后,会处理click
事件,但是不会打开链接了。
可以看下这里event.preventDefault() vs. return false