EventUtil对象

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;
    }
  },
  getEvent : function(event){
    return event ? event:window.event;
  },
  getTarget : function(event){
    return event.target || event.srcElement;
  },
  prevemtDefault : function(event){
    if(event.preventDefault){
      event.preventDefault()
    }else{
      event.returnValue = false;
    }
  },
  removeHandler:function(element,type,handler){
    if(element.addEventListener){
      element.removeEventListener(type,handler,false)
    }else if(element.attachEvent){
      element.detachEvent("on"+type,handler)
    }else{
      element["on"+type] = null;
    }
  },
  stopPropagation : function(event){
    if(event.stopPropagation){
      event.stopPropagation();
    }else{
      event.cancelBubble = true;
    }
  },
  getCharCode : function(){
    if(typeof event.charCode == "number"){
      return event.charCode;
    }else{
      return event.keyCode;
    }
  }
}

EventUtil.addHandler(btn,"click",function(event){
  event = EventUtil.getEvent(event);
  alert("client coordinates:" + event.clientX+","+event.clientY)
});
EventUtil.addHandler(document,"mousewheel",function(event){
  event = EventUtil.getEvent(event);
  console.log("client coordinates:" + event.wheelDelta)
});
EventUtil.addHandler(myDiv,"contextmenu",function(event){
  event = EventUtil.getEvent(event);
  EventUtil.preventDefault(event);
  var menu = document.getElementById("myMenu");
  menu.style.left=event.clientX+"px";
  menu.style.top=event.clientY+"px";
  menu.style.visibility = "visible";
});
EventUtil.addHandler(document,"click",function(event){
  document.getElementById("myMenu").style.visibility = "hidden"
});

posted @ 2017-11-03 11:45  星空0909  阅读(158)  评论(0编辑  收藏  举报