存在不同瀏覽器間的JS相容總結

2021-09-13 22:52:14 字數 1779 閱讀 5538

2023年2月19日個人部落格文章--遷移到segmentfault

當我們在編寫js用於處理事件時,由於考慮到不同瀏覽器間js**相容不同,**不易記憶,於是做出如下整理。(當然以後還會增加更新的。。。)

示例**如下:

(1)阻止預設事件

obj.onclick=function(ev)else

}

(2)獲取下(上)乙個兄弟節點

function nextnode(obj) else

}function prenode(obj) else

}

(3)獲取第乙個子(最後乙個)節點

function firstnode(obj) else

}function lastnode(obj) else

}

(4)新增(移除)事件監聽

function addevent(obj,type,fn)else

}function removeevent(obj,type,fn)else

}

(5)舉例click事件阻止事件傳播

obj.onclick=function(ev)else

}

(6)mouseover與mouseover的事件委託(經常用到,用於去除當 滑鼠浮動到元素容器中不同子元素間出現閃動問題。只需在函式function(ev){} 頭部新增以下**即可)

// mouseover委託事件

var event=ev||window.event;

// var from=event.fromelement||event.relatedtarget;

//在mouseover事件中from,表示滑鼠來自哪個元素,也是事件委託型別,和target與srcelement相反

// alert(from);

var from=event.fromelement||event.relatedtarget;

while(from);

from=from.parentnode;

}//mouseout委託事件

var event=ev||window.event;

var to=event.toelement||event.relatedtarget;

//在mouseout事件中to,表示滑鼠指向那個元素,也是事件委託型別,和target與srcelement相反

// alert(to)

while(to);

to=to.parentnode;

}

(7)滾輪事件

box.onmousewheel=function (ev) else;

}*/box.addeventlistener('dommousescroll',function (ev),false)//ie678不支援

8.js按需載入 非同步載入

demo.js如下

function test()
index.html如下

function loadscript(url,callback)

}}else

}script.src=url; //寫在這裡是為了防止onreadystatechange狀態不改變

}loadscript('demo.js',function())

CSS不同瀏覽器間相容技巧

當你想在乙個瀏覽器裡改變樣式而不像在其他瀏覽器中改變時,這些選擇器很有用。ie6以下 example source code www.52css.com html ie 7 以下 example source code www.52css.com first child html html 只對ie...

CSS相容不同瀏覽器

製作頁面的時候,由於瀏覽器的不同,對css的解析也會有所不同,從而達不到我們預期想要的頁面效果,這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓它能夠同時相容不同的瀏覽器。css hank。原始 歡迎光臨!減號是ie6專有的hack 9 ie6 ie7 ie8 ie9 ie10都生效 0 ie...

js事件相容處理(不同瀏覽器的事件相容處理)

var eventutil else if element.attachevent else removehandler function element,type,handler else if element.detachevent else getevent function event ge...