事件对象属于内核对象,它包含一个使用计数,一个用于标识该事件是一个自动重置还是一个人工重置的布尔值,和另一个用于指定该事件处于已通知状态还是未通知状态的布尔值。
由上面所述,可见事件对象可分为两种,一种是人工重置的,另一种是自动重置的。当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程。而当一个自动事件得到通知时,等待该事件的所有线程中只有一个线程变为可调度线程。
Javascript-跨浏览器事件处理程序(EventUtil)
事件操作对象:
varEventUtil={
//添加事件
addHandler:function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}elseif(element.attachEvent){//IE
element.attachEvent(“on”+type,handler,false);
}else{
element[“on”+type]=handler;
}
},
//移除对象
removeHandler:function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}elseif(element.detachEvent){//IE
element.detachEvent(“on”+type,handler,false);
}else{
element[“on”+type]=null;
}
},
//获取事件对象
getEvent:function(event){
returnevent?event:window.event;
},
//获取目标对象
getTarget:function(event){
returnevent.target||event.srcElement;
},
//取消默认事件
preventDefault:function(event){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue;
}
},
//停止冒泡
stopPropagation:function(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble=true;
}
}
};
创建事件对象,可以调用WindowsAPI中的CreateEvent。它可以创建一个有名的或匿名的事件对象。
以上是酷仔今日整理的“JavaScript-跨浏览器事件处理程序-Web前端教程”一文,希望为正在学习Web前端的同学提供参考。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/75980.html