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.
待续。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。