麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js window.onload 加載多個函數和追加函數詳解

2019-11-20 21:17:45
字體:
來源:轉載
供稿:網友

平時做項目 經常需要使用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 不能同時加載多個函數。

比如:

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

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

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

另一種解決方法如下:

復制代碼 代碼如下:

 function addLoadEvent(func) {
  var oldonload = window.onload;//得到上一個onload事件的函數
  if (typeof window.onload != 'function') {//判斷類型是否為'function',注意typeof返回的是字符串
    window.onload = func;
  } else { 
    window.onload = function() {
      oldonload();//調用之前覆蓋的onload事件的函數---->由于我對js了解不多,這里我暫時理解為通過覆蓋onload事件的函數來實現加載多個函數
      func();//調用當前事件函數
    }
  }
}

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

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);
//等價于  window.onload =function() { t();  b(); c() ;}


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

JS window.onload追加函數:

復制代碼 代碼如下:

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

運行,js中alert彈出消息,問題解決。

============相關資料================

attachEvent   將指定函數綁定到事件,以便每當該事件在對象上觸發時都調用該函數。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片大全在线观看 | 男女污视频在线观看 | 久草视频福利在线观看 | 黄色aaa视频 | 男女无遮挡羞羞视频 | 成人在线免费小视频 | 羞羞电影在线观看 | 欧美一级视屏 | 国产精品久久久久久久久久iiiii | 色就操| 欧美性受xxxx白人性爽 | 欧美日韩色片 | 福利在线国产 | 人人舔人人射 | 日日碰日日操 | 高清国产午夜精品久久久久久 | 涩涩99| 午夜视频在线观看91 | 日韩做爰视频免费 | 国产成人免费精品 | 国产精品久久久久久模特 | 国产精品91在线 | 高清国产午夜精品久久久久久 | 日产精品久久久一区二区开放时间 | 色羞羞 | 一本视频在线观看 | 久久国产精品99久久人人澡 | 欧美一级黄带 | 狼人狠狠干 | 午夜伦情电午夜伦情电影 | 欧美性受ⅹ╳╳╳黑人a性爽 | 中文字幕一区二区三区久久 | 91成人久久 | 成人毛片免费播放 | 中文字幕精品一区久久久久 | 精品久久久久久久久久久久久 | 国产一区国产二区在线观看 | 久久精国 | 狠狠操操 | 激情91 | 亚洲第五色综合网 |