首页 > 其他 > 详细

事件绑定 跨浏览器

时间:2017-11-28 13:03:11      阅读:198      评论:0      收藏:0      [点我收藏+]
if(document.addEventListener){
    this.addEvent = function(elem,type,fn){
        elem.addEventListener(type,fn,false);
        return fn;
    };
    
    this.removeEvent = function(elem,type,fn){
        elem.removeEventListener(type,fn,false);
    };
}else if(document.attachEvent){
    this.addEvent = function(elem,type,fn){
        var bound = function(){
            return fn.apply(elem,arguments);
        };
        elem.attachEvent("on" + type,bound);
        return bound;
    };
    
    this.removeEvent = function(elem,type,fn){
        elem.detachEvent("on" + type,fn);
    };
}


//用法

addEvent(window,"load",function(){
    var elems = document.getElementsByTagName("div");
    alert(elems.length);
    for(var i = 0; i < elems.length; i++)(function(elem){
            var handler = addEvent(elem,"click",function(){
                this.style.backgroundColor = this.style.backgroundColor == "" ? "green" : "";
                removeEvent(elem,"click",handler);
            });
        })(elems[i]);
    
});


 

事件绑定 跨浏览器

原文:http://www.cnblogs.com/halo-yang/p/7909263.html

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