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 相关文章推荐
JQUBar 基于JQUERY的柱状图插件
Nov 23 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
Jul 03 Javascript
解析jQuery与其它js(Prototype)库兼容共存
Jul 04 Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 Javascript
JS数字千分位格式化实现方法总结
Dec 16 Javascript
基于Vue2.0的分页组件
Mar 16 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
Oct 24 Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 Javascript
JavaScript格式化json和xml的方法示例
Jan 22 Javascript
微信小程序HTTP请求从0到1封装
Sep 09 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
将二维数组转为一维数组的2种方法
2014/05/26 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
PHP学习记录之数组函数
2018/06/01 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
Python可迭代对象操作示例
2019/05/07 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
python中判断文件结束符的具体方法
2020/08/04 Python
python3处理word文档实例分析
2020/12/01 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
护士自荐信范文
2013/12/15 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
出国留学担保书
2014/05/20 职场文书
运动会广播稿300字
2015/08/19 职场文书
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS