EventUtil.js 开发常用工具类

EventUtil.js

var  EventUtil  =   new  Object;
EventUtil.addEventHandler 
=   function  (oTarget, sEventType, fnHandler) {
    
if  (oTarget.addEventListener) {
        oTarget.addEventListener(sEventType, fnHandler, 
false );
    } 
else   if  (oTarget.attachEvent) {
        oTarget.attachEvent(
" on "   +  sEventType, fnHandler);
    } 
else  {
        oTarget[
" on "   +  sEventType]  =  fnHandler;
    }
};
        
EventUtil.removeEventHandler 
=   function  (oTarget, sEventType, fnHandler) {
    
if  (oTarget.removeEventListener) {
        oTarget.removeEventListener(sEventType, fnHandler, 
false );
    } 
else   if  (oTarget.detachEvent) {
        oTarget.detachEvent(
" on "   +  sEventType, fnHandler);
    } 
else  { 
        oTarget[
" on "   +  sEventType]  =   null ;
    }
};

EventUtil.formatEvent 
=   function  (oEvent) {
    
if  (isIE  &&  isWin) {
        oEvent.charCode 
=  (oEvent.type  ==   " keypress " ?  oEvent.keyCode :  0 ;
        oEvent.eventPhase 
=   2 ;
        oEvent.isChar 
=  (oEvent.charCode  >   0 );
        oEvent.pageX 
=  oEvent.clientX  +  document.body.scrollLeft;
        oEvent.pageY 
=  oEvent.clientY  +  document.body.scrollTop;
        oEvent.preventDefault 
=   function  () {
            
this .returnValue  =   false ;
        };

        
if  (oEvent.type  ==   " mouseout " ) {
            oEvent.relatedTarget 
=  oEvent.toElement;
        } 
else   if  (oEvent.type  ==   " mouseover " ) {
            oEvent.relatedTarget 
=  oEvent.fromElement;
        }

        oEvent.stopPropagation 
=   function  () {
            
this .cancelBubble  =   true ;
        };

        oEvent.target 
=  oEvent.srcElement;
        oEvent.time 
=  ( new  Date).getTime();
    }
    
return  oEvent;
};

EventUtil.getEvent 
=   function () {
    
if  (window.event) {
        
return   this .formatEvent(window.event);
    } 
else  {
        
return  EventUtil.getEvent.caller.arguments[ 0 ];
    }
}

你可能感兴趣的:(EventUtil.js 开发常用工具类)