我遇到了问题,无法弄明白,如果有人帮助我,我会很高兴。所以基本上我要做的是将多个window.onload事件放在一个单独的文件中,该文件启动我的脚本。为了弄明白我的意思,她就是我的情况:
假设我收到了这些文件:
的index.html
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="kalkevent.js"></script>
<script type="text/javascript" src="reckevent.js"></script>
<script type="text/javascript" src="winonload.js"></script>
</head>
<body>
<div id="topColumn">
...
</div>
<div id="bottomColumn">
...
</div>
</body>
</html>
kalk.js
function kalkInit() {
Array.prototype.slice.call(document.forms[0].elements).forEach(function(element) {
...
});
};
reck.js
function reckInit() {
...
};
所以我想在window.onload上加载kalkInit和reckInit。这应该在一个单独的文件中处理。我已经尝试过的是:
winonload.js
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
};
}
};
addLoadEvent(kalkInit);
addLoadEvent(reckInit);
但它根本不起作用。所以我的问题是,如果有可能我想做什么或不做。如果可以,有人会帮助我吗? :)
答案 0 :(得分:1)
您可以考虑使用jQuery .. 在你的winonload.js中你只需要:
$(window).on("load", kalkInit);
$(window).on("load", reckInit);
答案 1 :(得分:0)
也许你必须打电话给你的onloadfunction:
<body onload="addLoadEvent();">