javascript ES3方法IE兼容性处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript ES3方法IE兼容性处理相关的知识,希望对你有一定的参考价值。
/**
*获取内部文本
* @param element
* @returns {string}
*/
function getInnerText(element) {
if (typeof element.innerText === "string") {
return element.innerText;
} else {
return element.textContent;
}
}
/**
*设置内部文本
* @param element
* @param content
*/
function setInnerText(element, content) {
if (typeof element.innerText === "string") {
element.innerText = content;
} else {
element.textContent = content;
}
}
/**
* 获取下一个兄弟元素
* @param obj
* @returns {*}
*/
function getNextElement(element) {
if (element.nextElementSibling) {
return element.nextElementSibling; //IE678������
} else {
var node = element.nextSibling;
while (node && 1 !== node.nodeType) {
node = node.nextSibling;
}
return node;
}
}
/**
*获取上一个兄弟元素
* @param element
* @returns {*}
*/
function getPreviousElement(element) {
if (element.previousElementSibling) {
return element.previousElementSibling;
} else {
var node = element.previousSibling;
while (node && node.nodeType != 1) {
node = node.previousSibling;
}
return node;
}
}
/**
* 获得指定元素的样式,先获取行内,再获取css中的"attr"
* @param obj
* @param attr
* @returns {*}
*/
function getStyle(obj, attr) {
if (obj.currentStyle) {
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj, false)[attr];
}
}
/**
* 获得滚动卷去的高,宽
* @returns {{top: (Number|number), left: (Number|number)}}
*/
function getScroll() {
return {
top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0
}
}
/**
* 获得可视区宽,高
* @returns {{width: (Number|number), height: (Number|number)}}
*/
function getClient() {
return {
width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0,
height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0
}
}
/**
* 获取鼠标在文档中的位置
* @param e
* @returns {{x: (Number|*), y: (Number|*)}}
*/
function getPage(e){
return {
x: e.pageX || e.clientX + getScroll().left,
y: e.pageY || e.clientY + getScroll().top
}
}
/**
* 事件监听
* @param obj
* @param evt
* @param fn
*/
function addEventSimple(obj, evt, fn) {
if (obj.addEventListener) obj.addEventListener(evt, fn, false);
else if (obj.attachEvent) obj.attachEvent("on" + evt, fn)
}
以上是关于javascript ES3方法IE兼容性处理的主要内容,如果未能解决你的问题,请参考以下文章
总结IE和Firefox的Javascript兼容性总结
JavaScript添加IE事件处理程序
Javascript不同浏览器差异及兼容方法
解决在 IE8 上运行 javascript reduce() 方法的兼容性问题
JavaScript Object.keys()方法替代与IE8的兼容性
JavaScript——数组的indexOf()方法在IE8中的兼容性问题