javascript
JS中的兼容问题总结
今天總結(jié)總結(jié)在JS里面遇到的兼容性問題
1.獲取滾動距離的兼容性問題:
? ?? document.documentElement.scrollTop? || ?document.body.scrollTop ?? (兼容IE)?
?
2.獲取非行間樣式
?? getComputedStyle(元素,false)[attr]? || ? 元素.currentStyle[attr] ? ?
?
3.索引獲取字符串的問題
? str[1] 在IE6,7中不兼容,用str.charAt(1)在各個瀏覽器都兼容
?
4.DOM中的獲取節(jié)點(diǎn)的兼容
?? chilidNodes,firstChild,lastChild,nextSibling,previousSibling 在IE6-8中獲取的是元素節(jié)點(diǎn),而在正常瀏覽器中獲取出來包括元素節(jié)點(diǎn),文本節(jié)點(diǎn),屬性節(jié)點(diǎn)
?? 在正常瀏覽器總用children,firstElementChild,lastElementChild,nextElementSibling,previousElementSibling獲取的是元素節(jié)點(diǎn)
?
event事件對象中出現(xiàn)的兼容
?? 5. var e =e || event ? 獲取事件對象
?? 6. var target = e.target || e.srcElement? 獲取觸發(fā)事件的那個元素
?? 7. var key = e.keyCode || e.which ? //獲取鍵盤按下的鍵
?? 8. e.prevntDeafault() ||? e.returnValue = false //阻止瀏覽器默認(rèn)事件
?? 9. e.stopPropagation() || e.cancelBubble = true //阻止冒泡
? ??
10. ?? 元素.addEventListener()? 和? 元素.attachEvent() ? 添加DOM2級事件(監(jiān)聽事件) ? 第一種第一個參數(shù)寫類型的時候不需要加on ? 而第二種需要加on ??
? ? ? ? ? ?? 栗子 :元素.addEventListener("click",function(){}) ? ? ?? (正常瀏覽器用這個)
? ? ? ? ? ? ? ? ? ? ? ?? 元素.attachEvent("onclick",function(){}) ? ? ? (IE瀏覽器用這個)
?
11.元素.removeEventLister()? 和? 元素.detachEvent() ? ??正常瀏覽器用 元素.removeEventLister() ?? IE瀏覽器用?元素.detachEvent()
?
12.創(chuàng)建AJAX時的兼容:
? ? ? ? ? ? XMLHttpRequest() ? ? ? 和 ? ActiveXObject("Microsoft,XMLHTTP")
?
更多專業(yè)前端知識,請上 【猿2048】www.mk2048.com
總結(jié)
以上是生活随笔為你收集整理的JS中的兼容问题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS里面的懒加载(lazyload)
- 下一篇: JS中undefined和null的区别