js中兼容问题的解决

获取事件对象的兼容ie写法

1 var obox = document.querSelector(".box");
2 
3 obox.onclick = function(eve) {
4            var e = eve || window.event   //ie只支持window.event
5            console.log(e);
6         }

阻止事件冒泡的兼容ie写法

1 function stopBubble(e){    //传入事件对象
2         if(e.stopPropagation){
3             e.stopPropagation();
4         }else{
5             e.cancelBubble = true;   //如果ie,则使用e.cancleBubble
6         }
7     }

 监听式绑定的兼容ie写法

1 function addEvent(ele,type,cb){   //元素对象  事件类型  事件函数
2         if(ele.addEventListener){    
3             ele.addEventListener(type,cb)    //ie不支持
4         }else if(ele.attachEvent){
5             ele.attachEvent("on"+type,cb)   //仅ie9支持
6         }else{
7             ele["on"+type] = cb;   //都不支持,使用赋值式绑定
8         } 
9     }

取消绑定事件的兼容ie写法

1 function removeEvent(ele,type,cb){   //元素对象  事件类型  事件函数
2         if(ele.removeEventListener){    
3             ele.removeEventListener(type,cb)   //ie不支持
4         }else if(ele.detachEvent){
5             ele.detachEvent("on"+type,cb)   //ie支持
6         }else{
7             ele["on"+type] = null;   //都不支持,采用删除赋值式事件绑定
8         }
9     }

 

猜你喜欢

转载自www.cnblogs.com/yad123/p/11419883.html