window.event快达到全浏览器支持了,以后使用就方便了


Posted in Javascript onNovember 30, 2011

看下以下代码在各浏览器下的结果:

<body onclick="alert([window.event,event,this.event]);">test</body>

IE8: object,object,undefined
FF8.0: undefined,MouseEvent,undefined
Cr16: MouseEvent,MouseEvent,undefined
Opera: MouseEvent,MouseEvent,undefined
Safira: MouseEvent,MouseEvent,undefined

除FF8外,其它浏览器都已经支持window.event了

ff8似乎在调用事件时with了一个{event:new Event(...)};所以在onclick里也可以直接用“event”来获取事件句柄。

另:好奇同学在QWrap的Event里供了一个QW.EventH.getEvent的静态方法,用来在各种情况下获取当前的事件对象,代码如下:

/** 
* 获得event对象 
* @method getEvent 
* @param {event} event (Optional)event对象 默认为调用位置所在宿主的event 
* @param {element} element (Optional)任意element对象 element对象所在宿主的event 
* @return {event} event对象 
*/ 
getEvent: function(event, element) { 
if (event) { 
return event; 
} else if (element) { 
if (element.document) {return element.document.parentWindow.event; } 
if (element.parentWindow) {return element.parentWindow.event; } 
} if (window.event) { 
return window.event; 
} else { 
var f = arguments.callee; 
do { 
if (/Event/.test(f.arguments[0])) {return f.arguments[0]; } 
} while (f = f.caller); 
} 
},

所以,使用QW的页面,可以直接这样写:
<a href="#" onclick="EventH.preventDefault()">点我无效</div>

即:调用preventDefault时,不必传入event实例。
Javascript 相关文章推荐
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
jquery触发a标签跳转事件示例代码
Jul 21 Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 Javascript
12个超实用的JQuery代码片段
Nov 02 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
JavaScript中利用for循环遍历数组
Jan 15 Javascript
JavaScript简单拖拽效果(1)
May 17 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
Apr 07 Javascript
react 组件传值的三种方法
Jun 03 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
Nov 05 Javascript
解决iView Table组件宽度只变大不变小的问题
Nov 13 Javascript
图片在浏览器中底部对齐 解决方法之一
Nov 30 #Javascript
用Javascript评估用户输入密码的强度实现代码
Nov 30 #Javascript
用Javascript评估用户输入密码的强度(Knockout版)
Nov 30 #Javascript
Ubuntu 11.10 安装Node.js的方法
Nov 30 #Javascript
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 #Javascript
js常用代码段整理
Nov 30 #Javascript
firebug的一个有趣现象介绍
Nov 30 #Javascript
You might like
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
img标签中onerror用法
2009/08/13 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python类的继承实例详解
2017/03/30 Python
使用Python进行QQ批量登录的实例代码
2018/06/11 Python
python实现梯度下降算法
2020/03/24 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
运动会解说词200字
2014/02/06 职场文书
安全责任协议书
2014/04/21 职场文书
民主生活会剖析材料
2014/09/30 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
三方合作意向书范本
2015/05/09 职场文书
离婚案件上诉状
2015/05/23 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书