javaScript return false

在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. 
 Return False 就相当于终止符,Return True 就相当于执行符。 

<a class="testReturn" href="http://www.baidu.com">百度</a>
$(".testReturn").on('click',function(e){
        alert("test");
        return false;
    })//链接不会跳转
<form action="form_action.asp" method="post"  id="subForm">
        <p>First name : <input type="text" name="fname"/></p>
        <p>Last name : <input type="text" name="lname"/></p>
        <input type="submit" value="submit"/>
    </form>
function submitAction(){
        alert();
        return false;
    }
$("#subForm").on("submit",submitAction);

submitAction 方法里面有提交表单的动作。如果不加 return false,在执行完 submitAction 之后,submit 按钮还会继续执行它的默认事件,就会再次提交表单。这可能就是很多错误的根源。

 的确,return false的含义不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。你可以这样试验:首先将所有的js脚本注释掉,在IE浏览器中尝试拖动一下图片,你会发现鼠标会成为禁止操作的样式,图片是被禁止拖动的,它是浏览器针对mousemove事件所提供的默认行为。return false就是为了去掉这种行为,否则就会出现你描述的中断事件连续执行。

另外,和return false等效的语句为:window.event.returnValue = false,你可以把return false替换为此语句并进行验证。

最后说明一下,此种方式只适用于IE浏览器

posted @ 2015-05-15 12:01  darr  阅读(371)  评论(0编辑  收藏  举报