ie w3c
window.event event
srcElement target 事件源
returnValue preventDefault 取消给定事件的默认行为
cancelBubble stopPropagation 停止事件冒泡
attachEvent addEventListener 绑定多个事件
detachEvent removeEventListener 移除多个事件
eg:
W3C addEventListener(事件,函数,布尔) removeEventListener(事件,函数,布尔)this作用域是当前元素
ie attachEvent(事件处理程序名称,函数) detachEvent(); this作用域是window
btn.addEventListener("click",function(){alert(this.id)},false);
btn.addEventListener("click",function(){alert("hello")},false);
btn.removeEventListener()//不能移除匿名函数
//跨浏览器方法:
//获取事件对象
function getEvent(event){
return event?event:window.event;
}
//获得事件源
function getTarget(event){
return event.target||event.srcElement;
}
//取消默认行为
function preventDefault(event){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue=false;
}
}
//阻止事件冒泡
function stopPropagation(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble=true;
}
}
//获取相关元素
function getRelatedTaarget(event){
if(event.relatedTarget){
return event.relatedTarget;
}else if(event.toElement){//ie mouseout的相关元素
return event.toElement
}else if(event.fromElement){//ie mouseover的相关元素
return event.fromElement
}else{
return null;
}
}