首页 > 其他 > 详细

一些兼容问题的封装

时间:2019-11-09 18:19:30      阅读:76      评论:0      收藏:0      [点我收藏+]

1.事件委托的封装

function eveEnt(ele,cb){
        return function(eve){
            var e = eve || window.event;
            var target = e.target || e.srcElement;
            for(var i=0;i<ele.length;i++){
                if(target === ele[i]){
                    cb.bind(target)();
                }
            }
        }
    }
 
2事件监听的封装 针对IE和正常浏览器
添加
萨达
function addEvent(ele,myevent,cb){
        if(ele.attachEvent){
            ele.attachEvent("on"+myevent,cb)
        }else{
            ele.addEventListener(myevent,cb,false)
        }
    }
 
 addEvent(obox,"click",sayHello)
    function sayHello(){
        console.log("hello")
    }
删除
function removeEvent(ele,myevent,cb){
        if(ele.detachEvent){
            ele.detachEvent("on"+myevent,cb)
        }else{
            ele.removeEventListener(myevent,cb,false);
        }
    }
 
  removeEvent(obox,"click",sayHello)
 
 
3.事件冒泡 针对IE和正常浏览器
var e= eve || window.event;
if(e.stopPropagation){
  e.stopPropagation()
}else{
  e.cancelBubble = true
}
 
4.默认事件 针对IE和正常浏览器
var e= eve || window.event;
if(e.preventDefault){
  e.preventDefault();
}else{
  e.returnValue = false;
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 

一些兼容问题的封装

原文:https://www.cnblogs.com/2507148161----com/p/11826972.html

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