在用canvas些一个游戏,用MVC的设计模式,把js文件分成了3个,分别代表M,V,C。但是在执行过程中,三个文件都要在window.onload的时候执行。但是window.onload在一个html文件中只能有一个存在。当然,在一个js文件中我知道可以这样做:
window.onload=function(){
funtion1(){};
funtion2(){};
}
但是像这样的多个JS文件,而且多个js文件还有关联的情况下怎么解决?
在用canvas些一个游戏,用MVC的设计模式,把js文件分成了3个,分别代表M,V,C。但是在执行过程中,三个文件都要在window.onload的时候执行。但是window.onload在一个html文件中只能有一个存在。当然,在一个js文件中我知道可以这样做:
window.onload=function(){
funtion1(){};
funtion2(){};
}
但是像这样的多个JS文件,而且多个js文件还有关联的情况下怎么解决?
function addLoadEvent(fn){
var oldonload = window.onload;
if(typeof window.onload != 'function'){
window.onload = fn;
}else{
window.onload = function(){
oldonload();
fn();
}
}
}
13 回答13k 阅读
8 回答2.8k 阅读
2 回答5.2k 阅读✓ 已解决
7 回答2.2k 阅读
5 回答1.4k 阅读
3 回答2.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
一般我们这样子添加回调:
但是如果添加多个回调并且顺序执行肯定就不能这样了,因为这样后面的会覆盖前面的。
于是:
执行顺序为func1->func2->func3。
需要注意
attachEvent
是IE自己的方法,addEventListener
是w3c标准的东西。