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 相关文章推荐
JS的IE和Firefox兼容性集锦
Dec 11 Javascript
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
js获取当前页面路径示例讲解
Jan 08 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
Jul 13 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
js实现三级联动效果(简单易懂)
Mar 27 Javascript
深入理解Angular.JS中的Scope继承
Jun 04 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
小程序实现短信登录倒计时
Jul 12 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
php全角字符转换为半角函数
2014/02/07 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
js 上传图片预览问题
2010/12/06 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
Python 画出来六维图
2019/07/26 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
售后主管岗位职责
2013/12/08 职场文书
初一英语教学反思
2014/01/11 职场文书
公积金转移接收函
2014/01/11 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
数学系毕业生求职信
2014/05/29 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
2014年电厂工作总结
2014/12/04 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
Java 超详细讲解hashCode方法
2022/04/07 Java/Android