1

js中常见的兼容问题

1.元素划过的距离:滚动距离

document.body.scrollTop    //在谷歌浏览器下
document.documentElement.scrollTop        //在非谷歌浏览器下
let scrollTop = document.body.scrollTop || document.documentElement.scrollTop        //兼容写法

2.js获取非行内样式

obj.currentStyle()        //在ie下
window.getComputedStyle(obj,null)       //非ie下

3.取消冒泡事件

//ev.cancelBubble是ie取消冒泡事件  ev.stopProgation是w3c取消冒泡事件
ev.stopPropagation ? ev.stopPropagation() : ev.cancelBubble = true 

4.获取event对象的方法

var ev = event || ev

4.获取target方法

var target = ev.target || ev.srcElement

5.通过class获取元素

if (!document.getElementsByClassName) {        //在Ie8以及以下的浏览器中不可以使用
    document.getElementsByClassName = function () {        //手动创建
        var arr = [];
        var all = document.getElementsByTagName('*');
        for (var i = 0; i < all.length; i++) {
            if (all[i].className.indexOf(classname + "") != -1) {
                arr.push(all[i])
            }
        }
    }
    return arr;
}

6.键盘码的获取

ev.keyCode || ev.which        //ie8以及以下的浏览器不支持ev.keyCode

7.阻止浏览器的默认事件

e.preventDefault ? e.preventDefault() : e.returnValue = false       

8.事件监听:

obj.addEventListener('click', function() {}, true)        //非ie浏览器
obj.attachEvent('onclick', function() {})        //    ie浏览器

css中常见的兼容问题

1.透明度问题

opacity:0-1        //标准浏览器
filter: alpha(opacity= 0-100)        //ie8以及以下私有

2.

待续。。。


金豆豆
26 声望0 粉丝

loading...