return false,对阻止事件默认动作的一些测试代码


Posted in Javascript onNovember 17, 2010

首先页面上有一个 <textarea id="test"></textarea>
我们为其绑定以下事件

test.onkeydown = function(){ 
return false; 
} test.onkeyup = function(){ 
return false; 
} 
test.onkeypress = function(){ 
return false; 
}

我们分别注释掉其中的两个事件,每次测试仅绑定一个事件。
很明显我们每个函数都返回false,如果返回值可以阻止事件默认动作,那么文本框将无法输入任何内容。
看下面我测试的结果,注意红的部分。
最后我分别把事件绑定两次,每次返回false看是否能阻止默认动作。
还是用了一个a标记测试onclick 返回false 是否跳转。
侦听事件返回 false 是否阻止事件默认动作
  chrome IE-8 firfox oper Safari
onkeydown yes yes yes no yes
onkeyup no no no no no
onkeypress yes yes yes yes yes
onclick yes yes yes yes yes
keydown * 2 no 取最后的FN结果 no no no
keypress * 2 no 取最后的FN结果 no no no
click * 2 no 取最后的FN结果 no no no
e.preventDefault(); yes no yes yes(keydown:no) yes
e.returnValue = false no yes no no no

可以看出浏览器表现确实不太一样,当然IE是最麻烦的东西了。
最意外的是在oper中 绑定down 返回false,居然也不能阻止默认动作。
所以以后在写要阻止浏览器默认动作的时候,还用标准的方法比较好。(后面我提供了)
不然在多人协作的工作中,会相当麻烦。
演示的deom 有需要的可以发邮件给我。我就不贴上来了。
/* * 用下面的代码就不会发生悲剧了 
* 最终结论 
* E(e).stop(); 阻止时间冒泡 
* E(e).prevent();阻止时间默认行为 
*/ 
var E = function(e){ 
e = window.event || e; 
return { 
stop: function() { 
if (e && e.stopPropagation) e.stopPropagation(); 
else e.cancelBubble = true 
}, 
prevent: function() { 
if (e && e.preventDefault) e.preventDefault(); 
else e.returnValue = false 
} 
} 
}
Javascript 相关文章推荐
用javascript实现在小方框中浏览大图的代码
Aug 14 Javascript
单独使用CKFinder选择图片的方法
Aug 21 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
Jul 31 Javascript
js操作iframe的一些方法介绍
Jun 25 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
12个超实用的JQuery代码片段
Nov 02 Javascript
JavaScript设计模式初探
Jan 07 Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 Javascript
解析JavaScript数组方法reduce
Dec 12 Javascript
微信小程序如何获取群聊的openGid以及名称详解
Jul 17 Javascript
JavaScript中的全局属性与方法深入解析
Jun 14 Javascript
javascript利用初始化数据装配模版的实现代码
Nov 17 #Javascript
javascript拓展DOM操作 prependChild insertAfert
Nov 17 #Javascript
Javascript 静态页面实现随机显示广告的办法
Nov 17 #Javascript
Json对象替换字符串占位符实现代码
Nov 17 #Javascript
xml文档转换工具,附图表例子(hta)
Nov 17 #Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 #Javascript
基于jQuery的图片大小自动适应实现代码
Nov 17 #Javascript
You might like
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
canvas时钟效果
2017/02/16 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
python模块之StringIO使用示例
2015/04/08 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python定时执行之Timer用法示例
2015/05/27 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
英国综合网上购物商城:The Hut
2018/07/03 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
护理专科自荐书范文
2014/02/18 职场文书
联欢晚会主持词
2014/03/25 职场文书
大型演出策划方案
2014/05/28 职场文书
2014年网管工作总结
2014/12/11 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫