我正试图在身体加载时触发一个功能。我知道你可以从body标签做到这一点,但如果可能的话,我更愿意从JS那里做到这一点。
例如:document.getElementsByTagName('body').onload = someFunc();
这对我不起作用,但我认为它显示了我本来想要做的事情。
修改
我已经尝试了答案,似乎问题是它在加载body标签中使用的元素之前调用函数,即使我将脚本标记放在体内。 这就是它需要做的事情:
var buttonElements = document.getElementsByClassName('button');
如果我这样做:
alert(buttonElements)
它会弹出0
,但是当我在控制台中创建一个变量时,它会成功地用元素填充它。
答案 0 :(得分:5)
您所拥有的内容几乎可以使用,但您必须在<body>
标记的末尾导入JavaScript,并且必须为第一个结果编制索引:
document.getElementsByTagName('body')[0].onload = someFunc;
答案 1 :(得分:5)
像这样:
window.onload = someFunc;
但是,如果你的函数接受了arguemnts,你需要这样的匿名函数:
window.onload = function(){
someFunc(arg1, arg2);
}
除了解决@Pointy提到的代码问题之外,你还可以这样做:
document.body.onload = someFunc;
答案 2 :(得分:1)
如果您尝试运行它,请勿使用引号... "someFunc"()
将无效。
window.onload = someFunc;
答案 3 :(得分:1)
如果你使用jQuery:
$(document).ready(function () {
callMyFunction();
});