26

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

<body onload="startClock();">

但是,我将 aspx 设置为使用母版页,因此 aspx 中不再存在正文标记。如何注册 startClock 函数以在页面被点击时运行并且仍然使用母版页?

4

5 回答 5

42

如果您不想显式分配 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

于 2009-06-03T19:30:36.033 回答
2

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

<script type="text/javascript">
window.onload = function(){
    //do something here
}
</script>
于 2009-06-03T19:02:21.567 回答
1

最简洁的方法是使用 jQuery 之类的 javascript 框架。在 jQuery 中,您可以通过以下方式定义 on-load 函数:

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

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

$(document).ready(function() {
    // ...
});
于 2010-05-10T07:25:35.137 回答
0
Page.ClientScriptManager.RegisterStartupScrip(this.GetType(), "startup", "startClock();", true);

或使用原型

document.observe("dom:loaded", function() {
  // code here
});
于 2009-06-03T19:03:29.803 回答
0
window.addEventListener("load", function() {
    startClock();
}

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

于 2019-03-06T11:56:17.890 回答