事件对象
在触发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;
}
}
};

被折叠的 条评论
为什么被折叠?



