您好,欢迎访问一九零五行业门户网

js事件处理程序跨浏览器解决方案_javascript技巧

本文实例为大家分享了js事件处理程序跨浏览器解决方案,供大家参考,具体内容如下

再为大家分享js原生事件处理跨浏览器的代码:
//跨浏览器的事件处理器添加方式var eventutil = { addhandler : function(elem, type, handler){ if(elem.addeventlistener){ elem.addeventlistener(type, handler, false); } else if(elem.attachevent){ elem.attachevent(on + type, handler);//添加多个同一类型的handler时,ie方式的规则是最后添加的最先触发 } else{ if(typeof elem[on + type] === 'function'){ var oldhandler = elem[on + type]; elem[on + type] = function(){ oldhandler(); handler(); } } else{ elem[on + type] = handler;//支持添加多个事件处理器 } } }, 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; } }, removehandler : function(elem, type, handler){ if(elem.removeeventlistener){ elem.removeeventlistener(type, handler, false); } else if(elem.detachevent){ elem.detachevent(on + type, handler); } else{ elem[on + type] = null;//不支持移除单一事件处理器,只能全部移除 } }, stoppropagation : function(event){ if(event.stoppropagation){ event.stoppropagation(); } else{ event.cancelbubble = true; } }, getrelatedtarget : function(event){ if(event.relatedtarget){ return event.relatedtarget; } else if(event.toelement && event.type == mouseout){ return event.toelement; } else if(event.fromelement && event.type == mouseover){ return event.fromelement; } else{ return null; } }, /*ie8点击左键和中键都是0;ff无法识别中键;chrome正常*/ getbutton : function(event){//返回0,1,2 - 左,中,右 if(document.implementation.hasfeature(mouseevents, 2.0)){ return event.button; } else{ switch(event.button){ case 0:case 1:case 3:case 5:case 7: return 0; break; case 2:case 6: return 2; break; case 4: return 1; break; default: break; } } }, /*只能检测keypress事件,返回值等于将要显示的字符编码*/ /*ie和chrome只有能显示的字符键才触发,ff其它键也能触发,返回值为0*/ getcharcode : function(event){ if(typeof event.charcode == number){ return event.charcode; } else{ return event.keycode; } }};
以上就是本文的全部内容,希望对大家解决js事件处理程序跨浏览器有所帮助。
其它类似信息

推荐信息