JS Event事件

// 给一个element绑定一个针对event事件的响应

// 移除element对象对于event事件发生时执行某个函数

var box = document.getElementById("box1");
// 添加事件函数
function addEvent(obj,type,fn){
    // 判断是否有这个属性
    if(document.addEventListener){
        return obj.addEventListener(type,fn);
    }else{
        if(document.attachEvent){
            return obj.attachEvent("on"+type,fn);
        }
    }
}

addEvent(box,"click",function(){
    console.log(1);
});
addEvent(box,"click",fn2);
function fn2(){
    console.log(2);
}
// 解除事件函数
function reEvent(obj,type,fn){
    // 判断是否有这个属性
    if(document.removeEventListener){
        obj.removeEventListener(type,fn);
    }else{
        if(document.detachEvent){
            obj.detachEvent("on"+type,fn);
        }
    }
}
reEvent(box,"click",fn2);

 // 实现对click事件的绑定

function addClickEvent(element, listener) {
    // 判断是否有这个属性
    if(document.addEventListener){
        return element.addEventListener('click',listener);
    }else{
        if(document.attachEvent){
            return element.attachEvent('onclick',listener);
        }
    }
}

var ul = document.getElementById("ul");
addClickEvent(ul,function(){
    console.log(this)
});

// 实现对于按Enter键时的事件绑定

function addEnterEvent(element, listener) {
    if(window.addEventListener){
        // 给window添加keydown事件
        window.addEventListener("keydown",function(e){
         // 判断是否按下enter键,如果有则执行回调函数
             if(e.keyCode===13){
                 listener();
             }
         });
    }else{
        // 兼容IE低版本
        document.attachEvent("onkeydown",function(){
            if(window.event.keyCode===13){
                listener();
            }
        })
    }
     
}
var ul = document.getElementById("ul");

addEnterEvent(ul,function(){
    console.log("1");
})
原文地址:https://www.cnblogs.com/pssp/p/5277749.html