传统上,要在页面加载后调用JavaScript函数,您需要向包含一些JavaScript的主体添加一个onload属性(通常只调用函数)。
<body onload="foo()">
加载页面后,我想运行一些JavaScript代码,用来自服务器的数据动态填充页面的某些部分。我不能使用onload属性,因为我使用的是JSP片段,它没有可以添加属性的主体元素。
是否有其他方法调用JavaScript函数加载?我宁愿不使用jQuery,因为我不是很熟悉它。
传统上,要在页面加载后调用JavaScript函数,您需要向包含一些JavaScript的主体添加一个onload属性(通常只调用函数)。
<body onload="foo()">
加载页面后,我想运行一些JavaScript代码,用来自服务器的数据动态填充页面的某些部分。我不能使用onload属性,因为我使用的是JSP片段,它没有可以添加属性的主体元素。
是否有其他方法调用JavaScript函数加载?我宁愿不使用jQuery,因为我不是很熟悉它。
当前回答
<!DOCTYPE html > < html > < >头 <标题>测试< /名称> <meta http-equiv=" content - type " content="text/html;utf - 8字符集= " / > < script type = " text / javascript " > 函数codeAddress() { alert('好的'); } 窗口。onload = codeAddress; > < /脚本 < / >头 身体< > < /身体> < / html >
其他回答
另一种方法是使用事件监听器,下面是你如何使用它们:
document.addEventListener("DOMContentLoaded", function() {
your_function(...);
});
解释:
这意味着当文档的DOM对象完全加载并被JavaScript看到时。也可以是"click", "focus"…
function()匿名函数,当事件发生时将被调用。
这里有一个技巧(适用于任何地方):
r(function(){
alert('DOM Ready!');
});
function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}
如果你想让onload方法接受参数,你可以做类似这样的事情:
window.onload = function() {
yourFunction(param1, param2);
};
这将onload绑定到一个匿名函数,当调用该匿名函数时,将使用您给它的任何参数运行所需的函数。当然,您可以在匿名函数内部运行多个函数。
<!DOCTYPE html > < html > < >头 <标题>测试< /名称> <meta http-equiv=" content - type " content="text/html;utf - 8字符集= " / > < script type = " text / javascript " > 函数codeAddress() { alert('好的'); } 窗口。onload = codeAddress; > < /脚本 < / >头 身体< > < /身体> < / html >
你最初的问题不清楚,假设凯文的编辑/解释是正确的,那么第一个选项不适用
典型的选项是使用onload事件:
<body onload="javascript:SomeFunction()">
....
你也可以把你的JavaScript放在正文的最后;直到文档完成它才会开始执行。
<body>
...
<script type="text/javascript">
SomeFunction();
</script>
</body>
另一种选择是使用JS框架,它本质上是这样做的:
// jQuery
$(document).ready( function () {
SomeFunction();
});