return false;和e.preventDefault();的区别


Posted in Javascript onJuly 11, 2010

Have you ever seen those two things (in the title) being used in jQuery? Here is a simple example:

$("a").click(function() { 
$("body").append($(this).attr("href")); 
return false; 
}

That code would append the href attribute as text to the body every time a link was clicked but not actually go to that link. The return false; part of that code prevents the browser from performing the default action for that link. That exact thing could be written like this:
$("a").click(function(e) { 
$("body").append($(this).attr("href")); 
e.preventDefault(); 
}

So what's the difference?

The difference is that return false; takes things a bit further in that it also prevents that event from propagating (or “bubbling up”) the DOM. The you-may-not-know-this bit is that whenever an event happens on an element, that event is triggered on every single parent element as well. So let's say you have a box inside a box. Both boxes have click events on them. Click on the inner box, a click will trigger on the outer box too, unless you prevent propagation. Like this:
return false;和e.preventDefault();的区别
演示地址:http://css-tricks.com/examples/ReturnFalse/
So in other words:

function() { 
return false; 
} // IS EQUAL TO 
function(e) { 
e.preventDefault(); 
e.stopPropagation(); 
}

It's all probably a lot more complicated than this and articles like this probably explain it all a lot better.

参考:

1.The difference between ‘return false;' and ‘e.preventDefault();'
2.Event order

测试代码打包下载

Javascript 相关文章推荐
表单(FORM)的一些实用效果代码
Mar 25 Javascript
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
Oct 22 Javascript
Jquery api 速查表分享
Jan 12 Javascript
Javascript进制转换实例分析
May 14 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
Dec 18 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
Feb 13 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
Vuex入门到上手教程
Jun 20 Javascript
微信小程序中转义字符的处理方法
Mar 28 Javascript
基于jQuery的树控件实现代码(asp.net+json)
Jul 11 #Javascript
js 模拟气泡屏保效果代码
Jul 10 #Javascript
浅谈javascript的数据类型检测
Jul 10 #Javascript
jquery nth-child()选择器的简单应用
Jul 10 #Javascript
SWFObject 2.1以上版本语法介绍
Jul 10 #Javascript
加载jQuery后$冲突的解决办法
Jul 09 #Javascript
在javascript将NodeList作为Array数组处理的方法
Jul 09 #Javascript
You might like
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
Yii全局函数用法示例
2017/01/22 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
php中上传文件的的解决方案
2018/09/25 PHP
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
微信小程序中input标签详解及简单实例
2017/05/18 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
极简的Python入门指引
2015/04/01 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
python属于跨平台语言码
2020/06/09 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
橄榄树药房:OLIVEDA
2019/09/01 全球购物
如何进行Linux分区优化
2013/02/12 面试题
公司同意接收函
2014/01/13 职场文书
学生自我评价范文
2014/02/02 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
委托证明范本
2014/11/25 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
黄河绝恋观后感
2015/06/08 职场文书
行政复议答复书
2015/07/01 职场文书
详解SQL报错盲注
2022/07/23 SQL Server