Jagd
Jagd

Reputation: 7306

Hook a javascript event to page load

I have an aspx that has the following javascript function being ran during the onload event of the body.

<body onload="startClock();">

However, I'm setting the aspx up to use a master page, so the body tag doesn't exist in the aspx anymore. How do I go about registering the startClock function to run when the page is hit and still have it use a masterpage?

Upvotes: 28

Views: 78043

Answers (5)

Kartikeya_M
Kartikeya_M

Reputation: 661

window.addEventListener("load", function() {
    startClock();
});

This will invoke the startClock function at page load.

Upvotes: 1

Corbin March
Corbin March

Reputation: 25714

If you don't want to explicitly assign window.onload or use a framework, consider:

<script type="text/javascript">
function startClock(){
    //do onload work
}
if(window.addEventListener) {
    window.addEventListener('load',startClock,false); //W3C
} else {
    window.attachEvent('onload',startClock); //IE
}
</script>

http://www.quirksmode.org/js/events_advanced.html

Upvotes: 44

ThiefMaster
ThiefMaster

Reputation: 318488

The cleanest way is using a javascript framework like jQuery. In jQuery you could define the on-load function in the following way:

$(function() {
    // ...
});

Or, if you don't like the short $(); style:

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

Upvotes: 1

George
George

Reputation: 7944

Page.ClientScriptManager.RegisterStartupScrip(this.GetType(), "startup", "startClock();", true);

or using prototype

document.observe("dom:loaded", function() {
  // code here
});

Upvotes: 0

Gabriel Hurley
Gabriel Hurley

Reputation: 40052

Insert this anywhere in the body of the page:

<script type="text/javascript">
window.onload = function(){
    //do something here
}
</script>

Upvotes: 2

Related Questions