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 相关文章推荐
JQuery小知识
Oct 15 Javascript
jQuery的slideToggle方法实例
May 07 Javascript
删除Javascript Object中间的key
Nov 18 Javascript
js实现当前输入框高亮显示的方法
Aug 19 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
Feb 23 Javascript
jquery中用jsonp实现搜索框功能
Oct 18 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
Jan 19 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 Javascript
Angular设置别名alias的方法
Nov 08 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
微信小程序实现页面左右滑动
Nov 16 Javascript
JS实现鼠标移动拖尾
Dec 27 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
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
PHP Session机制简介及用法
2014/08/19 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
详解js闭包
2014/09/02 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
python3的pip路径在哪
2020/06/23 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
自荐书模板
2013/12/19 职场文书
党章学习思想汇报
2014/01/14 职场文书
经济管理专业求职信
2014/06/09 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
4s店活动策划方案
2014/08/25 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
教师节感想
2015/08/11 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
python在package下继续嵌套一个package
2022/04/14 Python
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis