这篇文章主要讲解了“javascript中常见的兼容写法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中常见的兼容写法”吧!
var nextElement=oLi3.nextElementSibling||oLi3.nextSibling;
var previousElement = oLi3.previousElementSibling || oLi3.previousSibling;
function getChildNodes(ele) {
//1.定义一个空的数组
var arr = [];
//2.获取指定元素
var oEle = document.querySelector(ele);
//3.将元素下边的所有儿子拿到
for (var i = 0; i < oEle.childNodes.length; i++) {
//4.变量判断真的儿子(元素节点nodeType==1)
if (oEle.childNodes[i].nodeType == 1) {
//5.将真儿子添加到数组里
arr.push(oEle.childNodes[i])
}
}
//6.返回数组
return arr;
}
var No1 = oBox.firstElementChild || oBox.firstChild;
var oLast = oBox.lastElementChild || oBox.lastChild;
var t = event.target || event.srcElement;
一 简单兼容写法
document.documentElement.scrollTop||document.body.scrollTop
二 高级兼容写法
function myScroll() {
// ie9以上, google,火狐都能用
if (window.pageXOffset != undefined) {
return {
"left": window.pageXOffset,
"top": window.pageYOffset
}
} else if (document.compatMode == "CSS1Compat") {
// 标准 DTD (有声明头)
return {
"left": document.documentElement.scrollLeft,
"top": document.documentElement.scrollTop
}
}
// 非标准 没有 DTD (没有声明头)
return {
"left": document.body.scrollLeft,
"top": document.body.scrollTop
}
}
html5的新标签在 ie 6 7 8 下有兼容问题,解决原理是 动态创建标签 document.createElement,我可以是快速使用html5shiv插件
var e=evt||window.event;
var keyCode = e.keyCode || e.which;
function getStyle(obj, attr) {
// 非ie,google,火狐
if (window.getComputedStyle) {
return window.getComputedStyle(obj, null)[attr];
}
//ie 6 8 9
return obj.currentStyle[attr];
}
if (e.stopPropagation) {
e.stopPropagation();
} else {
e.cancelBubble = true;
}
if (e.preventDefault) {
e.preventDefault()
} else {
e.returnValue = false;
}
oBtn.addEventListener("click", function () {
alert("长沙千锋老罗最帅");
}, {
once: true, // 只能被点一次
useCapture: true // true||false
})
//obj 给指定的元素添加事件
//type 事件的类型(click,mouseenter..)
//fn 函数名称
//useCapTure 捕获还是冒泡
function addEvent(obj, type, fn, useCapTure) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, useCapTure)
} else {
obj.attachEvent("on" + type, fn)
}
}
事件监听移除兼容写法
function removeEvent(obj, type, fn, useCapTure) {
if (obj.removeEventListener) {
obj.removeEventListener(type, fn, useCapTure);
} else {
obj.detachEvent("on" + type, fn);
}
}
感谢各位的阅读,以上就是“javascript中常见的兼容写法”的内容了,经过本文的学习后,相信大家对javascript中常见的兼容写法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。