js 事件绑定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 事件绑定相关的知识,希望对你有一定的参考价值。

//跨浏览器兼容

//跨浏览器添加事件
function addEvent(obj,type,fn){
    if(obj.addEventListener){
        obj.addEventListener(type,fn,false);
    }else if(obj.attachEvent){
        obj.attachEvent(‘on‘+type,fn);
    }
}

//跨浏览器移除事件
function removeEvent(obj,type,fn){
    if(obj.removeEventListener){
        obj.removeEventListener(type,fn,false);
    }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;
    }
}

//跨浏览器阻止默认行为
function preDef(evt){
    var e = evt||window.event;
    if(e.preventDefault){
        e.preventDefault();
    }else{
        e.returnValue=false;
    }
}

//调用方式
addEvent(window,‘load‘,function(){
    var oDiv = document.getElementById(‘div‘);
    addEvent(oDiv,‘click‘,blue);
});

function red(evt){
    var that=getTarget(evt);
    that.className=‘red‘;
    removeEvent(that,‘click‘,red);
    addEvent(that,‘click‘,blue);
}

function blue(evt){
    var that=getTarget(evt);
    that.className=‘blue‘;
    removeEvent(that,‘click‘,blue);
    addEvent(that,‘click‘,red);
}

以上是关于js 事件绑定的主要内容,如果未能解决你的问题,请参考以下文章

js中事件绑定

js事件绑定及深入

JS 中的事件绑定事件监听事件委托

JS 事件绑定事件监听事件委托详细介绍

js动态绑定onclick事件,事件点击多时无响应

JS 更改绑定事件的参数