js注册事件和删除事件兼容性解决方案

Posted chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; 
    }
}

以上是关于js注册事件和删除事件兼容性解决方案的主要内容,如果未能解决你的问题,请参考以下文章

JS高级——封装注册事件

js事件对象兼容性写法

js如何实现事件监听和解决兼容性

js中的事件部分总结

js touch事件和a链接相兼容问题

js事件跨浏览器解决问题的学习与总结