JavaScript让IE浏览器event对象符合W3C DOM标准


Posted in Javascript onNovember 24, 2009
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 
<body> 
<input id="butt" type="button" value="提交" /> 
</body> 
<script type="text/javascript"> 
var EventUtil = {}; 
EventUtil.formatEvent = function(oEvent){ 
if(window.ActiveXObject){ 
//W3C event的charCode属性,按下的按键的Unicode值 
oEvent.charCode = (oEvent.type == 'keypress') ? oEvent.keyCode : 0; 
//W3C event的eventPhase属性 
//事件的阶段,可能有以下的值中的一个: 
// 0 - 捕获阶段 
// 1 - 在目标上 
// 2 - 冒泡阶段 
oEvent.eventPhase = 2; 
//W3C event的isChar属性,表示按下的按键是否有字符与之相关 
oEvent.isChar = (EventUtil.charCode > 0); 
//W3C event的pageX属性,鼠标相对于页面的X坐标 
oEvent.pageX = oEvent.clientX + document.body.scrollLeft; 
//W3C event的pageY属性,鼠标相对于页面的Y坐标 
oEvent.pageY = oEvent.clientY + document.body.scrollTop; 
//W3C event的preventDefault方法,阻止事件的默认行为 
oEvent.preventDefault = function(){ 
this.returnValue = false; 
}; 
//W3C event的relatedTarget属性,事件的第二目标,经常用于鼠标事件 
if(oEvent.type == 'mouseout'){ 
oEvent.relatedTarget = oEvent.toElement; 
}else if(oEvent.type == 'mouseover'){ 
oEvent.relatedTarget = oEvent.fromElement; 
} 
//W3C event的stopPropagation方法,取消冒泡事件 
oEvent.stopPropagation = function(){ 
this.cancelBubble = true; 
}; 
//W3C event的target属性 
oEvent.target = oEvent.srcElement; 
//W3C event的timestamp属性,创建当前时间,并返回毫秒数 
oEvent.time = (new Date()).getTime(); 
} 
return oEvent; 
}; 
EventUtil.getEvent = function(){ 
if(window.event){ 
// IE 下返回event对象 
return this.formatEvent(window.event); 
}else{ 
// W3C 下返回event对象 
return EventUtil.getEvent.caller.arguments[0]; 
} 
}; 
document.getElementById('butt').onclick = function(){ 
var oEvent = EventUtil.getEvent(); 
alert(oEvent); 
}; 
</script> 
</html>
Javascript 相关文章推荐
jQuery的强大选择器小结
Dec 27 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
Aug 23 Javascript
Javascript面向对象编程
Mar 18 Javascript
javascript 树形导航菜单实例代码
Aug 13 Javascript
详解JavaScript的Date对象(制作简易钟表)
Apr 07 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
AngularJS基础 ng-repeat 指令简单示例
Aug 03 Javascript
微信小程序 密码输入(源码下载)
Jun 27 Javascript
Node.js自定义实现文件路由功能
Sep 22 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
JS运算符优先级与表达式示例详解
Sep 04 Javascript
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
文本框的字数限制功能jquery插件
Nov 24 #Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
Nov 24 #Javascript
jquery ajax提交表单数据的两种方式
Nov 24 #Javascript
js loading加载效果实现代码
Nov 24 #Javascript
jquery.ui.draggable中文文档
Nov 24 #Javascript
JS 实现双色表格实现代码
Nov 24 #Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 #Javascript
You might like
PHP中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
php获取某个目录大小的代码
2008/09/10 PHP
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
python实现bitmap数据结构详解
2014/02/17 Python
python中精确输出JSON浮点数的方法
2014/04/18 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
python定义类self用法实例解析
2020/01/22 Python
python next()和iter()函数原理解析
2020/02/07 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
python 线程的五个状态
2020/09/22 Python
Python偏函数实现原理及应用
2020/11/20 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
实习求职信
2013/12/01 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
民主评议党员个人总结
2015/02/13 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
周末问候语大全
2015/11/10 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
Django框架中模型的用法
2022/06/10 Python