2011-05-01 198 views
0

我有我在下面發佈在我的網頁上的代碼。正如你所看到的,它使用body加載函數來啓動腳本。有沒有什麼方法可以讓這個腳本在沒有這個和JavaScript的情況下工作呢?JavaScript中的Body onload函數

<!doctype html> 
<html> 
<head> 

<script type="text/javascript"> 
function box(query){ 
return document.getElementById(query) 
} 
</script> 

</head> 
<body onload="box('query').focus();"> 

<input id="query" type="text"> 

</body> 
</html> 

由於提前, 卡勒姆

+0

什麼是你想實現真正你已經在使用JavaScript – anu 2011-05-01 21:09:57

+1

。如果不在onload事件上,你將如何處理onload?你的問題在目前的形式中沒有意義。 – 2011-05-01 21:14:48

+0

我只是不明白你是否想這樣做,但如果你不喜歡onload函數,你可以使用jQuery的document.ready函數,但再次,避免onload在第一位是沒有意義的 – anu 2011-05-01 21:20:24

回答

1

這可能你在找什麼:Attach a body onload event with JS

我會使用jQuery或其他一些JavaScript框架,除非你正在探索JS或者使用庫和框架一些嚴格的限制建議。

0

由於的onLoad功能是由JavaScript提供,你已經解決您的問題。

-1

如果你正在談論與書面方式的任何JavaScript在HTML您可以使用此功能捕獲onload事件:

// Add event 
var addEvent = function (obj, evType, fn){ 
     if (obj.addEventListener){ 
       obj.addEventListener(evType, fn, false); 
       return true; 
     }else if (obj.attachEvent){ 
       var r = obj.attachEvent("on"+evType, fn); 
       return r; 
     } else { 
       return false; 
     } 
}; 

現在可以運行你在onload事件中需要的所有功能。

addEvent(window,'load',function() { 
    box('query').focus(); 
    // or 
    document.getElementById('query').focus(); 
}); 
0
the following code helpful for you 
this is jquery: 

$(document).ready(function(){ 
       function name(); 
}); 

or 

$(window).load(function(){ 
function name(); 
}); 
0
the following answers using javascript: 
<html> 
<head> 
    <title>Test</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript"> 
    function load() { 
     alert('function loaded'); 
    } 
    window.onload = load; 
    </script> 
</head> 
<body> 
</body> 
</html 


---------- 

<html> 
<head> 
    <title>Test</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript"> 
    function load() { 
     alert('function loaded'); 
    } 
    </script> 
</head> 
<body onload="load();"> 

</body> 
</html