高级事件 IE678浏览器兼容性问题及解决办法汇总

155 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

实际jquery中对这些方法都进行了封装,可以放心使用iquery~

如下方法IE678均不支持 (括号中为IE678支持的方法)

1、addEventListner 绑定/移除事件(attachEvent)在这里插入图片描述2、function(event){} 输出event事件对象及其属性(window.event)

function (event) {
        event = event || window.event;
        var target = event.target || event.srcElement;
        console.log(target);    
        
//阻止默认属性
 father.addEventListener('click', function (event) {
 //IE9以上
        event.preventDefault();
    });
    father.onclick = function (event) {
        //IE678
        event.returnValue;
        //或 return false 缺点是后面的代码不执行,优点是无兼容性问题
        return false;
    }
    
    //阻止冒泡
     if (event.stopPropagation()) {
            event.stopPropagation();
        } else {
            window.event.cancelBubble;
        }

3、页面被卷去的头部兼容性问题,使用的时候 getScroll().left

function getScroll() {
            return {
                left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
                top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
            };