js 事件event

       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;
                    }
                },
                removeHandler:function(element,type,handler){
                    if(element.removeEventListener){
                        element.removeEventListener(type,handler,false);
                    }else if(element.detachEvent){      //兼容ie8及之前的版本
                        element.detachEvent("on"+type,handler);
                    }else{
                        element["on"+type] = null;
                    }
                },
                
                getEvent:function(event){
                    return event?event:window.event;
                },
                
                getTarget:function(event){
                    return event.target || event.srcElement;
                },
                
                getRelatedTarget:function(event){
                    if(event.relatedTarget){
                        return event.relatedTarget;
                    }else if(event.toElement){
                        return event.toElement;
                    }else{
                        return event.fromElement;
                    }
                },
                
           
                getlCharCode:function(event){
                    if(typeof event.charCode == "number"){
                        return event.charCode;
                    }else{
                        return event.keyCode;
                    }
                },
                preventDefault:function(event){
                    if(event.preventDefault){
                        event.preventDefault();
                    }else{
                        event.returnValue =false;
                    }
                },
                
                stopPropagation:function(event){
                    if(event.stopPropagation){
                        event.stopPropagation();
                    }else{
                        event.cancelBubble = true;
                    }
                }
            };
        
        
        var btn1 = document.getElementById("btn1");
        
        //添加事件处理程序
        EventUtil.addHandler(btn1,"click",function(event){
            event = EventUtil.getEvent(event);
            var target = EventUtil.getTarget(event);
            alert(target.id);
        });

 

posted @ 2019-01-29 16:40  zhanglw  阅读(137)  评论(0)    收藏  举报