事件对象

来源:互联网 发布:东华软件应收账款 编辑:程序博客网 时间:2024/06/05 04:47

事件对象

在触发DOM上的某个事件时,会产生一个事件对象event。这个对象中包含着所有与事件有关的信息。包括导致事件的元素,事件的类型以及其他与特定事件相关的信息。

例如鼠标操作导致的事件对象中,会包含鼠标的位置信息。
键盘操作导致的事件对象中,会包含与按下的键有关的信息。
IE中事件对象event是全局变量window.event可以随时拿到
其它浏览器必须在参数中传递才能获取事件对象event
其它浏览器中默认第一个参数传递的是事件,如果你显示的传递了别的参数,这个事件你将无法获得,所以要兼容每个浏览器,方法内首先要判断这个event参数(有时候是e参数),如果没有则是IE的判断
简单的方法是 event = event||window.event

var btn = document.getElementById("myBtn");btn.onclick = function (event) {    alert(event.type);   //"click"};btn.addEventListener("click", function (event) {    alert(event.type);   //"click"},false);
var eventUtil={            addHandler:function(element,type,handler){               if(element.addEventListener){                 element.addEventListener(type,handler,false);               }else if(element.attachEvent){                 element.attachEvent('on'+type,handler);               }else{                 element['on'+type]=handler;               }            },            removeHandler:function(element,type,handler){               if(element.removeEventListener){                 element.removeEventListener(type,handler,false);               }else if(element.detachEvent){                 element.detachEvent('on'+type,handler);               }else{                 element['on'+type]=null;               }            },          getEvent:function(event){            return event?event:window.event;          },          getType:function(event){            return event.type;          },          getTarget:function(event){            return event.target || event.srcElement;          },          preventDefault:function(event){            if(event.preventDefault){              event.preventDefault();            }else{              event.returnValue=false;            }          },         stopPropagation:function(event){           if(event.stopPropagation){             event.stopPropagation();           }else{             event.cancelBubble=true;           }         }  };
0 0
原创粉丝点击