我有一个简单的JS函数,可将文本行加载到无序列表中。
Java脚本
function loadText() {
document.getElementById("text1").innerHTML = "Text1";
document.getElementById("text2").innerHTML = "Text2";
document.getElementById("text3").innerHTML = "Text3";
}
window.onload = loadText;
的HTML
<ul id="textlist">
<li id="text1"></li>
<li id="text2"></li>
<li id="text3"></li>
</ul>
这实际上在浏览器(Chrome)中有效,但是当我使用
window.onload = loadText();
而不是window.onload = loadText;
时。我收到错误消息:我以为是因为未读取DOM,所以我尝试了ondomready,但在那里遇到了同样的问题。但是,将
window.onload = loadText();
改回window.onload = loadText;
仍然可以工作。我觉得这很奇怪,这会有所不同。我在这里想念什么吗?
最佳答案
window.onload = loadText;
告诉浏览器在加载文档时执行loadText
。这意味着document.getElementById
将在loadText
中可用(并正常工作)。window.onload = loadText();
立即执行loadText
,并将返回值(undefined
)分配给window.onload
。因此,该分配是无用的,该功能将无法使用。
您在这里想要window.onload = loadText
,我不知道您为什么还要尝试window.onload = loadText();
。
关于javascript - 在JavaScript中调用函数loadText与loadText()有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25138092/