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  Error 对象 错误处理
May 18 Javascript
jQuery生成asp.net服务器控件的代码
Feb 04 Javascript
js下获取div中的数据的原理分析
Apr 07 Javascript
JS下拉框内容左右移动效果的具体实现
Jul 10 Javascript
分享一个插件实现水珠自动下落效果
Jun 01 Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 Javascript
jQuery File Upload文件上传插件使用详解
Dec 06 Javascript
基于Bootstrap的网页设计实例
Mar 01 Javascript
在vue中使用Autoprefixed的方法
Jul 27 Javascript
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
图片在浏览器中底部对齐 解决方法之一
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
php实现的错误处理封装类实例
2017/06/20 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
Python接收手机短信的代码整理
2020/08/02 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
法国足球商店:Footcenter
2019/07/06 全球购物
道德大讲堂实施方案
2014/05/14 职场文书
教室布置标语
2014/06/26 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
长城导游词400字
2015/01/30 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
mysql数据库入门第一步之创建表
2021/05/14 MySQL
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android