相容性(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高手之路] dom常用節點屬性相容性詳解與應用JS
- 程式相容性
- PostgreSQLOracle相容性之-roundintervalSQLOracle
- 瀏覽器相容性瀏覽器
- PostgreSQLOracle相容性-connectby2SQLOracle
- PostgreSQL Oracle 相容性 - connect by 2SQLOracle
- openGauss MySQL相容性增強MySql
- Web前端相容性指南Web前端
- Go mod 相容性問題Go
- 傲嬌的IOS 相容性iOS
- 生物相容性相關知識
- VMware相容性檢查指北
- input file相容性問題
- SpringMVC自定義相容性HandlerSpringMVC
- 軟體相容性測試知識分享,相容性測試有什麼作用?
- 軟體相容性測試怎麼進行?相容性測試有什麼作用?
- 檢測包相容性的方法
- 解決ie相容性問題
- 如何解決WebSocket的相容性Web
- 常見的相容性問題
- TIDB與MYSQL相容性測試TiDBMySql
- 移動端相容性問題
- 軟體相容性測試包含哪幾種型別?相容性測試如何收費?型別
- 軟體相容性測試有什麼作用?相容性測試必備測試工具
- App Stroe. 相容性文案過長APP
- 前端相容性問題總結前端
- Jersey2.x分支JavaSE相容性Java
- 初識onkeydown及其相容性問題
- PostgreSQLOracle相容性-Analysis函式之keepSQLOracle函式
- OpenHarmony相容性平臺更新上線
- windows10軟體相容性在哪裡調整_win10應用程式怎麼改相容性WindowsWin10
- 如何做版本相容性測試
- PostgreSQLOraclePL/SQL相容性之-AGGREGATEUSINGClause聚合函式SQLOracleGC函式
- 如何檢視SSL證書的相容性
- [轉帖]Podman與docker相容性問題Docker
- web頁面相容性問題記錄Web
- APP相容性測試難點在哪裡?APP
- Android 裝置音影片相容性適配Android