资源描述:
《js事件处理程序跨浏览器解决方案》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、js事件处理程序跨浏览器解决方案本文实例为大家分享了js事件处理程序跨浏览器解决方案,供大家参考,具体内容如下It;iDOCTYPEhtmlgt;It;htmlgt;It;headgt;1t;metacharset=〃utf-8〃/gt;It;titlegt;It;/titlegt;It:/headgt;It;bodygt;It;divgt;It;i叩uttype=〃button〃id=〃buttonl〃value=〃按钮〃/gt;1t;/divgt;It;scripttype=//text/javascript/zg
2、t:functionshow(){alert("HelloworId!〃);}//声明一个对象vareventUtil={//添加句柄addHandler:function(element,type,handler){//D0M2级事件处理判断if(element.addEventListener){element.addEventListener(type,handler,false);}elseif(element.attachEvent){//IE事件处理判断element.attachEvent(’on’+ty
3、pe,handler);}else{//D0M0级事件判断element[’on’+type]=handler;}},//删除句柄removeHandler:function(element,type,handler){//D0M2级事件处理判断if(element.removeEventListener){elememt.removeEventListener(type,handler,false);}elseif(e1ement.detachEvent){//IE事件处理判断element.detachEvent(
4、’on’+type,handler);}else{//D0M0级事件判断element[’on’+type]=null;eventUtil.addHandler(button3,’click’,show);lt;/scriptgt;1t;/bodygt;It;/htmlgt:再为大家分享js原生事件处理跨浏览器的代码://跨浏览器的事件处理器添加方式varEventUtil={nbsp;addHandler:function(elem,type,handler){nbsp;nbsp:if(elem.addEventLi
5、stener){nbsp:nbsp;nbsp;elem.addEventListener(type,handler,false);nbsp;nbsp;}nbsp;nbsp;elseif(elem.attachEvent){nbsp;nbsp:nbsp:elem.attachEvent(〃on〃+type,handler);//添加多个同一类型的handler时,IE方式的规则是最后添加的最先触发nbsp;nbsp;}nbsp;nbsp;else{nbsp;nbsp;nbsp;if(typeofelem[z/on/z+t
6、ype]===,function’){nbsp;nbsp;nbsp;nbsp;varoldHandler=elem[〃on〃+type];nbsp:nbsp:nbsp;nbsp;elem["or/’+type]:function(){nbsp;nbsp;nbsp;nbsp;nbsp;oldHandler();nbsp;nbsp;nbsp;nbsp;nbsp;handler():nbsp;nbsp:nbsp;nbsp;}nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp;else{nbsp;nbsp;nbsp;
7、nbsp;elem[z/onz,+type]=handler;//支持添加多个事件处理器nbsp;nbsp;nbsp:}nbsp;nbsp:}nbsp;},nbsp;getEvent:function(event){nbsp;nbsp;returnevent?event:window.event;nbsp;},nbsp;getTarget:funetion(event){nbsp;nbsp;returnevent,target
8、
9、event.sreElement;nbsp;},nbsp:preventDefault:f
10、unction(event){nbsp;nbsp;if(event,preventDefault){nbsp;nbsp;nbsp;event.preventDefault():nbsp;nbsp;}nbsp;nbsp;else{nbsp:nbsp;nbsp;event.returnValue=false;nbsp;nbsp;}nb