下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:JavaScript-跨浏览器事件处理程序(EventUtil)

作者:BrandBao     来源: https://www.cnblogs.com/brandbao-blog/p/12235317.html点击数:744发布时间: 2020-04-01 09:08:12

标签: windowJavaScriptEventUtil

Web开发

  事件对象属于内核对象,它包含一个使用计数,一个用于标识该事件是一个自动重置还是一个人工重置的布尔值,和另一个用于指定该事件处于已通知状态还是未通知状态的布尔值。

  由上面所述,可见事件对象可分为两种,一种是人工重置的,另一种是自动重置的。当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程。而当一个自动事件得到通知时,等待该事件的所有线程中只有一个线程变为可调度线程。

  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。它可以创建一个有名的或匿名的事件对象。

赞(15)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程