2011-05-18 79 views
3
  1. 我想在頁面加載時運行一些JavaScript函數,哪些方式存在,哪一個更好?
  2. 我可以撥打<body onclick="my function();">多個功能嗎?

回答

5

首先,您不想強制用戶點擊頁面以執行功能。

最基本的方法做的是:

<body onload="yourFunction();"> 

然後,在<head>一個<script>標籤有你的函數調用的所有其他功能:

function yourFunction(){ 
    function1(); 
    function2(); 
    // some other code not in a function... 
    //... 
} 
1
<body onload="yourFunction1();yourFunction2();"> 
0

如果你想要添加不同的監聽器,您需要使用javascript。檢查this question的答案(編輯:ok「need」有點強,你仍然可以直接在標籤中執行:))

-1

由於跨瀏覽器兼容性,頁面加載執行代碼並不是一項簡單的任務。最好使用其中一個框架。例如,jQuery的: -

$(function() { /* your code */ }); 

至於幾個事件功能結合元素,你可以用jQuery也做到這一點:

$('#mybytton').click(function() { /* first handler */ }); 
$('#mybytton').click(function() { /* second handler */ }); 

$('#mybytton').click(function() { /* first handler */ }) 
    .click(function() { /* second handler */ }); 
+2

他沒有提及的jQuery他post – Jimmy 2011-05-18 14:06:53

+0

「我想在頁面加載時運行一些JavaScript函數,哪些方式存在,哪一個更好」 - 使用jQuery是其中一種方式,我認爲它是最好的方法之一。什麼問題? – 2011-05-18 18:05:11

+1

我沒有讓你失望,但當人們問JS的問題時它會變老,每個答案都是「使用jquery!」即使在不需要時,他只是想在body onload事件中調用多個函數,但jQuery並不是最好的方法。從外部資源加載一個庫,僅用於幾個函數? – Jimmy 2011-05-18 18:12:41