js元素事件绑定与解绑兼容代码

时间:2022-06-30 04:34:35

一、元素事件的绑定方法兼容代码

  1. 为任意元素绑定任意事件的兼容代码  
    /**
     * 为任意元素绑定任意事件
     * @param {*} element 元素
     * @param {*} type    事件类型
     * @param {*} fn      事件处理函数
     */
    function addEventListener(element, type, fn) {
        if(element.addEventListener){
            element.addEventListener(type,fn,false);
        }else if(element.attachEvent){
            element.attachEvent("on"+type,fn);
        }else{
            element["on"+type] = fn;
        }
    }
    

      

二、元素事件解绑方法兼容代码

  1. 为任意元素解绑任意事件
    /**
     * 解绑事件的兼容代码
     * @param {*} element 元素
     * @param {*} type    事件类型  
     * @param {*} fn      事件处理函数
     */
    function removeEventListener(element,type,fn){
        if(element.addEventListener){
            element.removeEventListener(type,fn,false);
        }else if(element.attachEvent){
            element.detachEvent("on"+type,fn);
        }else{
            element["on"+type] = null;
        }
    }