欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

原生javascript兼容性測(cè)試實(shí)例

 更新時(shí)間:2013年07月01日 17:17:54   作者:  
原生javascript兼容性:currentStyle、scrollTop、event以及綁定事件IE的綁定事件為attachEvent/detachEvent等等兼容性測(cè)試實(shí)例,感興趣的朋友可以參考下哈
1.獲取樣式表里面的width,border color 之類的css(不是行間) 主要是IE6-7支持currentStyle,標(biāo)準(zhǔn)瀏覽器支持getComputedStyle;

實(shí)例:封裝函數(shù)
復(fù)制代碼 代碼如下:

function getStyle(obj,name){
if(obj.currentStyle){
return obj.currentStyle[name];
}
else{
return getComputedStyle(obj,false)[name];
}
}

調(diào)用:getStyle('color');

2.獲取滾動(dòng)的距離
document.body.scrollTop 適用于 標(biāo)準(zhǔn)瀏覽器
document.documentElement.scrollTop 適用于IE9以下版本
兼容性可以這樣寫
var top = document.body.scrollTop | document.documentElement.scrollTop;

3.事件對(duì)象
標(biāo)準(zhǔn)瀏覽器:事件對(duì)象作為事件函數(shù)的參數(shù)
IE低版本 需要直接用event對(duì)象(全局)
復(fù)制代碼 代碼如下:

function (ev){
var event = ev || event;
}

現(xiàn)在event就作為了事件對(duì)象

4.綁定事件 IE 的綁定事件為 attachEvent/detachEvent(綁定或取消);標(biāo)準(zhǔn)瀏覽器 addEventListener/removeEventListener(綁定或取消)
以下是事件綁定或取消的參數(shù),在事件綁定中 函數(shù)不能是匿名函數(shù) 否則取消不掉
addEventListener的使用方式:

target.addEventListener(type, listener, useCapture);

target: 文檔節(jié)點(diǎn)、document、window 或 XMLHttpRequest。
type: 字符串,事件名稱,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener :實(shí)現(xiàn)了 EventListener 接口或者是 JavaScript 中的函數(shù)。
useCapture :是否使用捕捉,一般用 false 。例如:document.getElementById("testText").addEventListener("keydown", function (event) { alert(event.keyCode); }, false);

IE中:

target.attachEvent(type, listener);
target: 文檔節(jié)點(diǎn)、document、window 或 XMLHttpRequest。
type: 字符串,事件名稱,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。
listener :實(shí)現(xiàn)了 EventListener 接口或者是 JavaScript 中的函數(shù)。 例如:document.getElementById("txt").attachEvent("onclick",function(event){alert(event.keyCode);});

事件綁定的封裝函數(shù):
復(fù)制代碼 代碼如下:

function addEvent(obj,ev,fn){
if(obj.attachEvent){
obj.attachEvent('on'+ev,fn)
}
else{
obj.addEventListener(ev, fn, false);

}
}

這樣的封裝函數(shù)如果綁定事件fn函數(shù)里面用到this 需提防 this 為window(只有IE低版本有這個(gè)bug) 不是obj;
復(fù)制代碼 代碼如下:

addEvent(document,'click',function(ev){

var ev=ev||window.event;
var target = ev.target||ev.srcElement; // 獲得事件源 主要處理IE低版本this為window之bug
alert(target)
});

綁定之取消事件 fn為函數(shù)名字
復(fù)制代碼 代碼如下:

function removeEvent(obj,ev,fn){
if(obj.detachEvent){
obj.detachEvent('on'+ev,fn)
}
else{
obj.removeEventListener(ev, fn, false);

}
}

5.ajax
Ajax創(chuàng)建XMLHttp對(duì)象 標(biāo)準(zhǔn)版瀏覽器與IE低版本不兼容
標(biāo)準(zhǔn)版創(chuàng)建XMLHttp對(duì)象:
復(fù)制代碼 代碼如下:

//1.創(chuàng)建對(duì)象
if(window.XMLHttpRequest)
{
var oAjax=new XMLHttpRequest();//標(biāo)準(zhǔn)瀏覽器
}
else
{
var oAjax=new ActiveXObject("Microsoft.XMLHTTP");//IE低版本
}
alert(oAjax);

6.取消默認(rèn)事件
js中默認(rèn)事件取消是主要是兩種 return false 和 preventDefault
取消默認(rèn)事件中return false 是兼容任何瀏覽器 但是如果遇到事件綁定的 addEventListener 會(huì)取消不掉默認(rèn)事件
取消默認(rèn)右鍵事件例子:
復(fù)制代碼 代碼如下:

document.addEventListener('contextmenu',function(ev){
ev.preventDefault();
}))
document.oncontextmenu = function(){
return false;
}

7.call與apply 的區(qū)別
call、apply 可以調(diào)用函數(shù)
例如
復(fù)制代碼 代碼如下:

function show(){
alert(this)
}
//show(); 彈出window
//show.call();彈出windwo
//show.call(this) //彈出window
//show.call(5); //彈出5;
show.call(this,5); //彈出window

call(this,arg1,arg2,...)可以看出call里面的參數(shù) this主要是指代事件對(duì)象 以后參數(shù)是函數(shù)中用到的參數(shù)
用call與apply來(lái)主要是修改this的,功能上和普通的函數(shù)沒(méi)有什么太大的區(qū)別
apply(this,arguments) 主要是對(duì)參數(shù)不確定來(lái)使用
8、DOM取得子節(jié)點(diǎn)children和childNodes
children 取得 子節(jié)點(diǎn) 只能是取第一層 必須是標(biāo)簽節(jié)點(diǎn)
例如:
復(fù)制代碼 代碼如下:

<span><a href="#">文字1</a></span>
<span><a href="#">文字2</a></span>

children[0] 這樣只能是取到第一個(gè)span 要是想取到第一個(gè)a標(biāo)簽 children[0].children[0],所以說(shuō)children的長(zhǎng)度只是2;
childNodes在高版本上會(huì)算上空文本 在火狐 谷歌上 上面的是長(zhǎng)度是5;在IE低版本(6-8)長(zhǎng)度是4.

相關(guān)文章

  • 基于canvas實(shí)現(xiàn)超炫酷的流水燈效果

    基于canvas實(shí)現(xiàn)超炫酷的流水燈效果

    這篇文章主要為大家詳細(xì)介紹了基于canvas實(shí)現(xiàn)超炫酷的流水燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Javascript數(shù)組常用方法你都知道嗎

    Javascript數(shù)組常用方法你都知道嗎

    這篇文章主要為大家詳細(xì)介紹了Javascript數(shù)組常用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 關(guān)于meta viewport中target-densitydpi屬性詳解(推薦)

    關(guān)于meta viewport中target-densitydpi屬性詳解(推薦)

    這篇文章主要介紹了關(guān)于meta viewport中target-densitydpi屬性詳解,通過(guò)不同的縮放比例實(shí)現(xiàn)了不同的預(yù)覽效果,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • JavaScript實(shí)現(xiàn)的XML與JSON互轉(zhuǎn)功能詳解

    JavaScript實(shí)現(xiàn)的XML與JSON互轉(zhuǎn)功能詳解

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)的XML與JSON互轉(zhuǎn)功能,結(jié)合實(shí)例形式分析了基于javascript的xml與json相關(guān)轉(zhuǎn)換功能實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02
  • 8個(gè)絕妙的JS字符串處理技巧分享

    8個(gè)絕妙的JS字符串處理技巧分享

    當(dāng)處理JavaScript字符串時(shí),有許多有趣的技巧可以提高你的編碼效率,這篇文章將介紹一些有關(guān)JavaScript字符串的技巧,讓你在字符串操作方面更加?jì)故?/div> 2023-10-10
  • 對(duì)layui數(shù)據(jù)表格動(dòng)態(tài)cols(字段)動(dòng)態(tài)變化詳解

    對(duì)layui數(shù)據(jù)表格動(dòng)態(tài)cols(字段)動(dòng)態(tài)變化詳解

    今天小編就為大家分享一篇對(duì)layui數(shù)據(jù)表格動(dòng)態(tài)cols(字段)動(dòng)態(tài)變化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 淺析js中事件冒泡與事件捕獲

    淺析js中事件冒泡與事件捕獲

    js中事件冒泡、事件捕獲一直都是困擾大家的問(wèn)題,本文利用大量代碼解釋了js中事件冒泡與事件捕獲,希望對(duì)小伙伴們有所幫助
    2021-08-08
  • 微信小程序拍照和攝像功能實(shí)現(xiàn)方法示例

    微信小程序拍照和攝像功能實(shí)現(xiàn)方法示例

    這篇文章主要介紹了微信小程序拍照和攝像功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了微信小程序拍照與攝影功能的原理、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-02-02
  • javascript中cookie對(duì)象用法實(shí)例分析

    javascript中cookie對(duì)象用法實(shí)例分析

    這篇文章主要介紹了javascript中cookie對(duì)象用法,實(shí)例分析了javascript針對(duì)cookie對(duì)象的寫入、讀取及刪除等操作的使用方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • (跨瀏覽器基礎(chǔ)事件/瀏覽器檢測(cè)/判斷瀏覽器)經(jīng)驗(yàn)代碼分享

    (跨瀏覽器基礎(chǔ)事件/瀏覽器檢測(cè)/判斷瀏覽器)經(jīng)驗(yàn)代碼分享

    一些js代碼,自己備用的,高手不要笑話我。(跨瀏覽器基礎(chǔ)事件,瀏覽器檢測(cè),判斷瀏覽器的名稱、版本號(hào)、操作系統(tǒng))等等,很實(shí)用的,方便自己使用,感興趣的朋友可以了解下,希望本文對(duì)你有所幫助
    2013-01-01

最新評(píng)論