EventUtil 네이티브 이벤트 도구

4708 단어 실용 코드
var EventUtil={
    // 
   addHandler:function(element,type,handler){
       if(element.addEventListener){
    //DOM2 
           element.addEventListener(type,handler,false);
       }else if(element.attachEvent){
    //IE
           element.attachEvent("on"+type,handler);
       }else{
           element["on"+type]=handler;//DOM0 
       }
   },
   // 
   removeHandler:function(element,type,handler){
       if(element.removeEventListener){
    //DOM2 
           element.removeEventListener(type,handler,false);
       }else if(element.detachEvent){
    //IE
           element.detachEvent("on"+type,handler);
       }else{
           element["on"+type]=null;//DOM0 
       }      
   },
   // event 
   getEvent:function(event){
       return event?event:window.event;
   }
   // 
   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;
       }
   },
   // 
   getCharCode:function(event){
       if(typeof event.charCode=="number"){
           return event.charCode;
       }else{
           return event.keyCode;//IE8 Opera
       }
   },
   // 
   getClipboardText:function(event){
       var clipboardData=(event.clipboardData || window.clipboardData);
       return clipboardData.getData("text");
   },
   // 
   setClipboardText:function(event,value){
       if(event.clipboardData){
           return event.clipboardData.setData("text/plain",value);
       }else if(window.clipboardData){
           window.clipboardData.setData("text",value);
       }
   }
}

좋은 웹페이지 즐겨찾기