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 ];
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值