常見的pc端的兼容問題總結

js中常見的兼容問題

1.元素劃過的距離:滾動距離css

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.取消冒泡事件code

//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獲取元素ci

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.鍵盤碼的獲取get

ev.keyCode || ev.which        //ie8以及如下的瀏覽器不支持ev.keyCode

7.阻止瀏覽器的默認事件it

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

8.事件監聽:io

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

css中常見的兼容問題

1.透明度問題event

opacity:0-1        //標準瀏覽器
filter: alpha(opacity= 0-100)        //ie8以及如下私有

2.

待續。。。

相關文章
相關標籤/搜索