首页 > 代码库 > 事件处理程序
事件处理程序
事件处理程序:
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; } }; };
事件处理程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。