乐趣区

关于javascript:js注册事件和删除事件兼容性解决方案

  1. 注册事件兼容性解决方案
/**
 * 注册事件
 * @param element 元素对象
 * @param eventName 事件名称
 * @param fn 注册监听事件
 */
function addEventListener(element,eventName,fn) {// 判断以后浏览器是否反对 addEventListener 办法 (ie9 以上)
    if (element.addEventListener) {element.addEventListener(eventName,fn);
    } else if (element.attachEvent) {
        // ie9 以下且为 IE 浏览器
        element.attachEvent('on' + eventName,fn);
    } else {
        // 通用
        element['on' + eventName] = fn; // 相似于 element.onclick = fn;
    }
}

2. 事件兼容性解决方案

/**
 * 删除事件
 * @param element 元素对象
 * @param eventName 事件名称
 * @param fn 注册监听事件
 */
function removeEventListener(element,eventName,fn) {// 判断以后浏览器是否反对 removeEventListener 办法 (ie9 以上)
    if (element.removeEventListener) {element.removeEventListener(eventName,fn);
    } else if (element.detachEvent) {
        // ie9 以下且为 IE 浏览器
        element.detachEvent('on' + eventName,fn);
    } else {
        // 通用
        element['on' + eventName] = null; 
    }
}
退出移动版