黑马程序员技术交流社区
标题: 问一个关于onload方法的问题, ^_^ [打印本页]
作者: 蓝雨星空 时间: 2013-10-3 22:24
标题: 问一个关于onload方法的问题, ^_^
本帖最后由 蓝雨星空 于 2013-10-6 00:10 编辑
在head中定义script程序,然后使用onload方法,就是网页加载完成再执行这个程序,但是如果是 onload=程序名() 这样的方式却不能获取到table的节点,而使用 onload=function(){程序名()} 这样却又可以,有没有哪个同学知道怎么回事?
作者: 陈钦涛 时间: 2013-10-3 22:52
本帖最后由 陈钦涛 于 2013-10-3 23:24 编辑
onload=程序名()应该写成onload=程序名,否则就是赋值形式的了,所以加载不了。
onload=function(){} 这个是匿名函数,页面加载完毕就能执行这个函数了。
作者: 麦子 时间: 2013-10-3 23:04
楼上正解
作者: 深情小建 时间: 2013-10-4 10:36
js window.onload 加载多个函数的两种方法
网站设计中window.onload,方法在项目中经常被使用,用法如下:
- function fun(){
- alert("window的Onload事件被触发啦!");return;
- }
- window.onload=fun;
复制代码或者如下:
- window.onload=function(){alert("window的Onload事件被触发啦!");return;}
复制代码1.问题:
但window.onload 不能同时加载多个函数。比如:
- function fun1(){
- alert("fun1")
- }
- function fun2(){
- alert("fun2")
- }
- window.onload =fun1 ;
- window.onload =fun2 ;
复制代码后面会把前面的覆盖,上面代码只会输出 fun2。
2.解决方法
方法一:
写一个总的函数调用需要触发的函数
- window.onload =function() { fun1(); fun2(); }
复制代码 方法二:写一个方法
使用addLoadEvent(func)
使用如下:
- function fun1(){
- alert("fun1")
- }
- function fun2(){
- alert("fun2")
- }
- function fun3(){
- alert("fun3")
- }
- function addLoadEvent(func) {
- var oldonload = window.onload;
- if (typeof window.onload != 'function') {
- window.onload = func;
- } else {
- window.onload = function() {
- oldonload();
- func();
- }
- }
- }
- addLoadEvent(fun1);
- addLoadEvent(fun2);
- addLoadEvent(fun3);
- //等价于 window.onload =function() { fun1(); fun2(); fun3() ;}
复制代码
作者: 乔兵 时间: 2013-10-4 12:38
如果问题已经解决,请重新编辑帖子,修改帖子的主题分类为“提问结束”{:soso_e181:}
作者: 蓝雨星空 时间: 2013-10-6 00:11
原来是在小细节上出了错,谢谢各位的热心回答,{:soso_e128:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |