W3C、IE事件切换器兼容函数

//W3C、IE事件切换器兼容函数
function addEvent(obj , type , fn){                        //添加事件兼容
    if(obj.addEventListener){
        obj.addEventListener(type,fn);
    }else if(obj.attachEvent){
        obj.attachEvent('on' + type , fn);
    }
}

function removeEvent(obj , type , fn){                    //移除事件兼容
    if(obj.removeEventListener){
        obj.removeEventListener(type , fn);
    }else if(obj.detachEvent){
        obj.detachEvent('on' + type , fn);
    }
}

function getTarget(evt){                                        //得到事件目标
    if(evt.target){
        return evt.target;
    }else if(window.event.srcElement){
        return window.event.srcElement;
    }
}

addEvent(window , load , function(){
    var box = document.getElementById('box');
    addEvent(box, 'click' , toBlue);
});

function toRed(evt){
    var that = getTarget(evt);
    that.className = 'red';
    removeEvent(that , 'click' , toRed);
    addEvent(that , 'click' ,toBlue);
}

function toBlue(evt){
    var that = getTarget(evt);                //通过window.event.srcElement赋值给变量that
    that.className = 'blue';
    removeEvent(that , 'click' , toBlue);
    addEvent(that , 'click' ,toRed);
}

 

posted @ 2018-01-10 22:53  journeyIT  阅读(8)  评论(0编辑  收藏  举报