加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

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

发布时间:2020-12-15 02:31:23 所属栏目:C语言 来源:网络整理
导读:编程之家 jb51.cc IE浏览器event对象跟W3C实现的不一样.所以自己封装一个EventUtil类来让IE浏览器的event对象与W3C一样. !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns

  编程之家 52php.cn IE浏览器event对象跟W3C实现的不一样.所以自己封装一个EventUtil类来让IE浏览器的event对象与W3C一样.

<!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>LIEHUO.NET</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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读