最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js window.onload 加載多個(gè)函數(shù)和追加函數(shù)詳解

 更新時(shí)間:2014年01月08日 09:09:06   作者:  
本篇文章主要是對(duì)js window.onload 加載多個(gè)函數(shù)和追加函數(shù)進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

平時(shí)做項(xiàng)目 經(jīng)常需要使用window.onload,

用法如下:

function func(){alert("this is window onload event!");return;}

window.onload=func;

或者如下:

window.onload=function(){alert("this is window onload event!");return;}

但window.onload 不能同時(shí)加載多個(gè)函數(shù)。

比如:

function t(){
alert("t")
}
function b(){
alert("b")
}
window.onload =t ;
window.onload =b ;

后面會(huì)把前面的覆蓋,上面代碼只會(huì)輸出 b。

此時(shí)可用如下方法解決:
window.onload =function() { t();  b(); }

另一種解決方法如下:

復(fù)制代碼 代碼如下:

 function addLoadEvent(func) {
  var oldonload = window.onload;//得到上一個(gè)onload事件的函數(shù)
  if (typeof window.onload != 'function') {//判斷類(lèi)型是否為'function',注意typeof返回的是字符串
    window.onload = func;
  } else { 
    window.onload = function() {
      oldonload();//調(diào)用之前覆蓋的onload事件的函數(shù)---->由于我對(duì)js了解不多,這里我暫時(shí)理解為通過(guò)覆蓋onload事件的函數(shù)來(lái)實(shí)現(xiàn)加載多個(gè)函數(shù)
      func();//調(diào)用當(dāng)前事件函數(shù)
    }
  }
}

//(完整示例)使用如下:

function t(){
alert("t")
}
function b(){
alert("b")
}
function c(){
alert("c")
}
 function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else { 
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);
//等價(jià)于  window.onload =function() { t();  b(); c() ;}


個(gè)人以為直接使用隱式函數(shù)(如:window.onload =function() { t();  b(); c() ;})更快捷,當(dāng)然使用 addLoadEvent 更professional,各取所好吧!

JS window.onload追加函數(shù):

復(fù)制代碼 代碼如下:

<script>
if(window.attachEvent)//IE:如果瀏覽器中存在window.attachEvent函數(shù)則使用window.attachEvent函數(shù),判斷是否是IE還可以使用:if (document.all){//..}
window.attachEvent("onload",function() {alert("add method");});
else  //FireFox
window.addEventListener("load",function() {alert("add method");},true);
</script>

運(yùn)行,js中alert彈出消息,問(wèn)題解決。

============相關(guān)資料================

attachEvent   將指定函數(shù)綁定到事件,以便每當(dāng)該事件在對(duì)象上觸發(fā)時(shí)都調(diào)用該函數(shù)。

Internet Explorer 從 5.0 開(kāi)始提供了一個(gè) attachEvent 方法,使用這個(gè)方法,就可以給一個(gè)事件指派多個(gè)處理過(guò)程了。attachEvent 對(duì)于目前的 Opera 也適用。但是 Mozilla/Firefox 并不支持這個(gè)方法。但是它支持另一個(gè) addEventListener 方法,這個(gè)方法跟 attachEvent 差不多,也是用來(lái)給一個(gè)事件指派多個(gè)處理過(guò)程的。但是它們指派的事件有些區(qū)別,在 attachEvent 方法中,事件是以 “on” 開(kāi)頭的,而在 addEventListener 中,事件沒(méi)有開(kāi)頭的 “on”,另外 addEventListener 還有第三個(gè)參數(shù),一般這個(gè)參數(shù)指定為 false 就可以了。

相關(guān)文章

最新評(píng)論

蒲城县| 常宁市| 闽清县| 长乐市| 曲阳县| 淮南市| 夏邑县| 会宁县| 岳池县| 河间市| 渑池县| 新化县| 凌云县| 通海县| 达拉特旗| 新绛县| 浦东新区| 济南市| 惠水县| 北京市| 孟村| 正镶白旗| 富顺县| 綦江县| 革吉县| 阿坝| 繁昌县| 滕州市| 哈尔滨市| 巴林右旗| 浙江省| 宜兰市| 措勤县| 东明县| 浦城县| 深泽县| 昌宁县| 丰城市| 乌鲁木齐市| 屏东县| 东山县|