- DOM節(jié)點(diǎn)獲取
//DOM節(jié)點(diǎn)相關(guān),主要兼容IE 6 7 8
function nextnode(obj){//獲取下一個(gè)兄弟節(jié)點(diǎn)
if (obj.nextElementSibling) {
return obj.nextElementSibling;//非IE678支持
} else{
return obj.nextSibling;//IE678支持
};
}
- 事件event獲取源
//event事件問(wèn)題
document.onclick=function(ev){//谷歌火狐的寫(xiě)法,IE9以上支持,往下不支持;
var e=ev;
console.log(e);
}
document.onclick=function(){//谷歌和IE支持,火狐不支持;
var e=event;
console.log(e);
}
//兼容寫(xiě)法;
document.onclick=function(ev){//兼容寫(xiě)法;
var e=ev||window.event;
var mouseX=e.clientX;//鼠標(biāo)X軸的坐標(biāo)
var mouseY=e.clientY;//鼠標(biāo)Y軸的坐標(biāo)
}
3.獲取ClassName問(wèn)題
- innertext兼容性
Safari、Opera和Chrome支持innerText屬性。
Firefox雖然不支持innerText,但支持作用類(lèi)似的textContent屬性
var div = document.getElementById("content");
function setInnerText(element, text) {
if (typeof element.textContent == "string") { //Firefox
element.textContent = text;
} else {
element.innerText = text;
}
}
function getInnerText(element) {
return (typeof element.textContent == "string") ? element.textContent : element.innerText;
}
setInnerText(div, "Hello world!");
alert(getInnerText(div)); //"Hello world!"
5.設(shè)置監(jiān)聽(tīng)事件
//設(shè)置監(jiān)聽(tīng)事件
function addEvent(obj,type,fn){//添加事件監(jiān)聽(tīng),三個(gè)參數(shù)分別為 對(duì)象、事件類(lèi)型、事件處理函數(shù),默認(rèn)為false
if (obj.addEventListener) {
obj.addEventListener(type,fn,false);//非IE
} else{
obj.attachEvent('on'+type,fn);//ie,這里已經(jīng)加上on,傳參的時(shí)候注意不要重復(fù)加了
};
}
function removeEvent(obj,type,fn){//刪除事件監(jiān)聽(tīng)
if (obj.removeEventListener) {
obj.removeEventListener(type,fn,false);//非IE
} else{
obj.detachEvent('on'+type,fn);//ie,這里已經(jīng)加上on,傳參的時(shí)候注意不要重復(fù)加了
};
}