首页 > 其他 > 详细

事件处理程序

时间:2017-03-19 22:21:41      阅读:194      评论:0      收藏:0      [点我收藏+]
 事件处理程序:
1 var EventUtil={ 2 addHandler:function(element,type,handler){ 3 if(element.addEventListener){ //DOM2级处理程序 4 element.addEventListener(type,handler,flase) 5 } 6 else if{ 7 element.attachEvent("on"+type,handler); //IE处理程序 8 } 9 else { 10 element["on"+type]=handler; //DOM0级处理程序 11 } 12 }, 13 removeHandler:function(element,type,handler){ 14 if(element.removeEventListener){ 15 element.removeEventListener(type,handler,false); 16 } 17 else if(element.detachEvent){ 18 element.detachEvent("on"+type.handler); 19 } 20 else{ 21 element["on"+type]=null; 22 } 23 } 24 }

 

Event 对象:

1.非IE下:currentTarget属性指向被绑定事件(this)元素,Target属性指向触发事件的元素;
IE下:DOM0级事件处理程序的srcElement属性指向被绑定事件(this)元素,DOM2级处理程序时指向触发事件的元素;
2.非IE其它属性和方法:type:触发事件类型("click"); stopPropagatopn():取消事件冒泡;preventDefault():取消默认事件,例如href属性的跳转;
IE下其它属性和方法:type:触发事件类型("click");cancelBubble:为true时取消冒泡;returnValue:为false时取消事件默认行为
  
跨浏览器事件对象
var
eventUtil = { 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; } }; };

 

事件处理程序

原文:http://www.cnblogs.com/YutaoZhou/p/6580853.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!