相容性(js)
- DOM節點獲取
//DOM節點相關,主要相容IE 6 7 8
function nextnode(obj){//獲取下一個兄弟節點
if (obj.nextElementSibling) {
return obj.nextElementSibling;//非IE678支援
} else{
return obj.nextSibling;//IE678支援
};
}
- 事件event獲取源
//event事件問題
document.onclick=function(ev){//谷歌火狐的寫法,IE9以上支援,往下不支援;
var e=ev;
console.log(e);
}
document.onclick=function(){//谷歌和IE支援,火狐不支援;
var e=event;
console.log(e);
}
//相容寫法;
document.onclick=function(ev){//相容寫法;
var e=ev||window.event;
var mouseX=e.clientX;//滑鼠X軸的座標
var mouseY=e.clientY;//滑鼠Y軸的座標
}
3.獲取ClassName問題
- innertext相容性
Safari、Opera和Chrome支援innerText屬性。
Firefox雖然不支援innerText,但支援作用類似的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.設定監聽事件
//設定監聽事件
function addEvent(obj,type,fn){//新增事件監聽,三個引數分別為 物件、事件型別、事件處理函式,預設為false
if (obj.addEventListener) {
obj.addEventListener(type,fn,false);//非IE
} else{
obj.attachEvent('on'+type,fn);//ie,這裡已經加上on,傳參的時候注意不要重複加了
};
}
function removeEvent(obj,type,fn){//刪除事件監聽
if (obj.removeEventListener) {
obj.removeEventListener(type,fn,false);//非IE
} else{
obj.detachEvent('on'+type,fn);//ie,這裡已經加上on,傳參的時候注意不要重複加了
};
}
相關文章
- js日期物件相容性的處理JS物件
- AngularJS的IE相容性【已翻譯100%】AngularJS
- JS的IE和FF相容性問題彙總JS
- 程式相容性
- [js高手之路] dom常用節點屬性相容性詳解與應用JS
- 更強的 JsonPath 相容性及效能測試之2022版(Snack3,Fastjson2,jayway.jsonpath)JSONAST
- 瀏覽器相容性瀏覽器
- PostgreSQLOracle相容性之NUMTODSINTERVALSQLOracle
- PostgreSQLOracle相容性-synonym匿名SQLOracle
- CSS相容性詳解CSS
- JAVASCRIPT相容性問題JavaScript
- ajax除錯相容性除錯
- Web相容性測試Web
- IE與CSS相容性CSS
- Web前端相容性指南Web前端
- Go mod 相容性問題Go
- 傲嬌的IOS 相容性iOS
- input file相容性問題
- PostgreSQLOracle相容性之-roundintervalSQLOracle
- cephmonitor功能的相容性管理
- Android相容性測試Android
- 關於版本相容性
- Ibatis相容性問題BAT
- 軟體相容性測試知識分享,相容性測試有什麼作用?
- 軟體相容性測試怎麼進行?相容性測試有什麼作用?
- SpringMVC自定義相容性HandlerSpringMVC
- 檢測包相容性的方法
- 解決ie相容性問題
- PostgreSQLOracle相容性-connectby2SQLOracle
- PostgreSQL Oracle 相容性 - connect by 2SQLOracle
- PostgreSQL10PostGIS相容性FIXSQL
- 如何解決WebSocket的相容性Web
- Octave和matlab的相容性Matlab
- PostgreSQLMySQL相容性之-Gis型別MySql型別
- PostgreSQLMySQL相容性之-數字型別MySql型別
- RichFaces editor的相容性問題
- openGauss MySQL相容性增強MySql
- 軟體相容性測試包含哪幾種型別?相容性測試如何收費?型別