为了账号安全,请及时绑定邮箱和手机立即绑定

有没有处理兼容性问题的框架,这样一个一个处理太费时了????

// 跨浏览器兼容的事件处理程序(能力检测)
// 兼容性处理封装在eventshiv对象的众多方法中
// 如:eventshiv.addHandler(btn, 'click', f1);

var eventshiv = {
    // event兼容
    getEvent : function (event) {
        return event? event : window.event;
    },

    // type兼容
    getType : function (event) {
        return event.type;
    },

    // target兼容
    getTarget : function (event) {
        return event.target? event.target : event.srcElement;
    },

    // 添加事件句柄
    addHandler : function (element,type,listener) {
        if (element.addEventListener) {
            // 2级 DOM
            element.addEventListener(type, listener, false);
        } else if (element.attachEvent) {
            // IE
            element.attachEvent('on' + type, listener);
        } else {
            // 0级 DOM
            // element.onclick === element['onclick']
            // 在这里由于.与'on'字符串不能链接,只能用后者
            element['on' + type] = listener;
        }
    },

    // 移除事件句柄
    removeHandler : function (element,type,listener) {
        if (element.removeEventListener) {
            // 2级 DOM
            element.removeEventListener(type, listener, false);
        } else if (element.detachEvent) {
            // IE
            element.detachEvent('on' + type, listener);
        } else {
            // 0级 DOM
            // element.onclick === element['onclick']
            // 在这里由于.与'on'字符串不能链接,只能用后者
            element['on' + type] = null;
        }
    },

    // 取消默认行为
    preventDefault : function (event) {
        if (event.preventDefault) {
            // 非IE
            event.preventDefault();
        } else {
            // IE
            event.returnValue = false;
        }
    },

    // 阻止事件冒泡
    stopPropagation : function (event) {
        if (event.stopPropagation) {
            // 非IE
            event.stopPropagation();
        } else {
            // IE
            event.cancelBubble = true;
        }
    }
}

console.log('eventshiv.js 文件加载成功!');


正在回答

1 回答

你好,jQuery可以很好地处理兼容性

0 回复 有任何疑惑可以回复我~
#1

白小明 提问者

非常感谢!
2016-12-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有没有处理兼容性问题的框架,这样一个一个处理太费时了????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信