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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
JS设置cookie、读取cookie、删除cookie
Apr 17 Javascript
写给小白的JavaScript引擎指南
Dec 04 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
微信开发 js实现tabs选项卡效果
Oct 28 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
JS鼠标3次点击事件实现代码及扩展思路
Sep 12 Javascript
layui 数据表格复选框实现单选功能的例子
Sep 19 Javascript
解决vue自定义组件@click点击失效问题
Apr 30 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
德劲1103二次变频版的打磨
2021/03/02 无线电
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
python用requests实现http请求代码实例
2019/10/31 Python
python开发一个解析protobuf文件的简单编译器
2020/11/17 Python
用python制作个音乐下载器
2021/01/30 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
四年级数学教学反思
2014/02/02 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
文化大革命观后感
2015/06/17 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书