2013-07-04 72 views
-1

我試圖在頁面運行時立即執行javascript函數。我認爲這會起作用,但事實並非如此。我究竟做錯了什麼?謝謝!在html頁面上執行函數加載

<script language="javascript" type="text/javascript"> 
    <!-- 
    //Browser Support Code 
     window.onload = function runAtLoadTime() { 
      getInfo; 
     } 

     function getInfo() { 
      alert("here"); 
      console.log("here"); 
     } 
    //--> 
    </script> 
+0

當你說頁面運行你的意思是,即使在DOM加載之前? –

+0

怎麼了-1?這個問題出了什麼問題? – Alex

+0

與問題無關,但不贊成使用'language'屬性,也不需要在註釋中包含腳本(除非您使用NoteTab作爲編輯器)。 – Teemu

回答

4

你需要爲了調用一個函數使用()。更換

getInfo; 

通過

getInfo(); 

或者考慮到runAtLoadTime具有除了通話沒有道理可getInfo你可以簡單地做

// assign getInfo to onload, I'm not calling it here, that's why() are not used 
window.onload = getInfo; 
0

window對象的onload屬性接受一個你已經正確分配的功能。但是在你的函數內部,你並沒有執行函數調用。如果您的事件處理程序包含除調用getInfo函數以外的邏輯,請使用第一個函數。否則使用第二個。你有兩個選擇在這裏:

// Function call inside your event handler 
window.onload = function runAtLoadTime() { 
    getInfo(); 
} 

// Assigning the function directly 
window.onload = getInfo;