JavaScript让IE浏览器event对象符合W3C DOM标准
JavaScript让IE浏览器event对象符合W3C DOM标准
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:无标题文档varEventUtil={};EventUtil.formatEvent=function(oEvent){i...

复制代码 代码如下:

<!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教程学习
编程开发子分类