封装之后,我们再来调用
1 var eventUtil={ 2 //添加句柄 3 addHandler:function(element,type,handler){ 4 if(element.addEventListener){ 5 element.addEventListener(type,handler,false); 6 }else if(element.attachEvent){ 7 element.attachEvent("on"+type,handler); 8 }else{ 9 element["on"+type]=handler; 10 } 11 }, 12 //移除句柄 13 removeHandler:function(element,type,handler){ 14 if(element.removeEventListener){ 15 element.removeEventListener(type,handler,false); 16 }else if(element.detachEvent){ 17 element.detachEvent("on"+type,handler); 18 }else{ 19 element["on"+type]=null; 20 } 21 }, 22 //获得事件 23 getEvent:function(event){ 24 return event?event:window.event; 25 }, 26 //获得事件的类型 27 getType:function(event){ 28 return event.type; 29 }, 30 //获得事件来自哪个元素 31 getElement:function(){ 32 return event.target||event.srcElement; 33 }, 34 //阻止默认的行为 35 preventDefault:function(event){ 36 if(event.preventDefault){ 37 event.preventDefault(); 38 }else{ 39 event.returnValue=false; 40 } 41 }, 42 //阻止事件的冒泡行为 43 stopPropagation:function(){ 44 if(event.stopPropagation){ 45 event.stopPropagation(); 46 }else{ 47 event.cancelBubble(); 48 } 49 } 50 }