将javascript事件挂钩到页面加载

时间:2009-06-03 18:57:40

标签: javascript master-pages asp.net onload-event

我有一个aspx,它在正文的onload事件中运行了以下javascript函数。

<body onload="startClock();">

但是,我将aspx设置为使用母版页,因此aspx中不存在body标签。如何在页面被命中时注册startClock函数并仍然使用主页?

5 个答案:

答案 0 :(得分:35)

如果您不想显式分配window.onload或使用框架,请考虑:

<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

答案 1 :(得分:2)

将其插入页面正文的任何​​位置:

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

答案 2 :(得分:1)

最干净的方法是使用像jQuery这样的javascript框架。 在jQuery中,您可以通过以下方式定义on-load函数:

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

或者,如果您不喜欢短$();样式:

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

答案 3 :(得分:0)

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

或使用原型

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

答案 4 :(得分:0)

dataset2

这将在页面加载时调用startClock函数。