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 相关文章推荐
javascript 硬盘序列号+其它硬件信息
Dec 23 Javascript
js实现Select下拉框具有输入功能的方法
Feb 06 Javascript
jquery实现右键菜单插件
Mar 29 Javascript
JavaScript中的普通函数与构造函数比较
Apr 07 Javascript
jquery预加载图片的方法
May 27 Javascript
在页面中输出当前客户端时间javascript实例代码
Mar 02 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
使用jquery.form.js实现图片上传的方法
May 05 Javascript
AngularJS基础 ng-mouseleave 指令详解
Aug 02 Javascript
React中使用collections时key的重要性详解
Aug 07 Javascript
Bootstrap Table 删除和批量删除
Sep 22 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
文本框的字数限制功能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获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
银行工作检查书范文
2014/01/31 职场文书
监察建议书范文
2014/03/12 职场文书
气象学专业个人求职信
2014/03/15 职场文书
我的求职择业计划书
2014/04/04 职场文书
光荣之路观后感
2015/06/12 职场文书
门球健将观后感
2015/06/16 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS