2016-03-03 39 views
-2

guys.I困惑了一個簡單的問題。請幫助我。爲什麼我的函數addLoadEvent不能同時上傳一些js文件? 這是我的代碼:addLoadEvent不能工作?

function addLoadEvent(func) { 
    var oldonload = window.onload; 
    if (typeof window.onload != 'function') { 
     window.onload = func; 
    }else{ 
     window.onload = function() { 
      oldonload; 
      func(); 
     } 
    } 
} 

和:

<link rel="stylesheet" type = "text/css" media="screen" href="styles/typography.css"> 
<script type="text/javascript" src="scripts/addLoadEvent.js"> 
</script> 
<script type="text/javascript" src="scripts/displayCitations.js"> 
</script> 
<script type="text/javascript" src="scripts/displayAccessKeys.js"> 
</script> 
<script type="text/javascript" src="scripts/displayAbbreviations.js"> 
</script> 

爲什麼我的功能addLoadEvent總是上傳的最後一個JavaSript文件,和另外兩個文件coverd?

+0

addLoadEvent.js是做什麼的? –

回答

1

你不叫oldonload

window.onload = function() { 
    oldonload(); // <-- need() there 
    func(); 
} 

考慮使用addEventListener

+0

喔,太酷了!謝謝! – YAN7

0

你正在做的事情真的不是擁有多個事件處理程序的正確方法。相反,只需使用window.addEventListener(),因爲具有多個事件處理程序的功能已經內置,並且沒有理由重新創建它。

function addLoadEvent(func) { 
    window.addEventListener("load", func); 
} 
+0

我只是在短時間內學習這個JavaScript,我會看到你的功能,謝謝! – YAN7