为了让函数在网页加载完毕后立即执行,网页加载完毕后会出发一个onload事件,这个事件与window对象关联,必须把函数绑定到这个时间上,有两种解决方案:
1.常见解决方案:
先创建一个匿名函数来容纳函数,然后把匿名函数绑定到onload事件上;如下所示:

window.onload=function(){firstFunction();secondFunction();
}

2.弹性最佳解决方案—不管页面加载完毕时执行多少个函数,它都可以应付自如;这个函数名是addLoadEvent,由Simon Willison编写。只有一个参数:打算页面加载完毕时执行的函数的名字。
下面是addLoadEvent函数完成的操作:

  • 把现有的window.onload事件处理函数的值存入变量oldonload;
  • 如果这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它;
  • 如果这个处理函数上已经绑定了一些函数,就把新函数追加到现有指令的末尾。
    下面是addLoadEvent函数的代码清单:
function addLoadEvent(func){var oldonload=window.onload;if(typeof window.onload != 'function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}
};//这将把那些在页面加载完毕执行的函数创建为一个列队addLoadEvent(firstFunction);
addLoadEvent(secondFunction);

所有内容均来自《JavaScript DOM 编程艺术(第2版)》

关于onload事件相关推荐

  1. 加载多个js onload事件

    1.将要加载的内容放到onload事件中 (如果出现多个onload可能会出现函数覆盖) 2.使用 document.attachEvent('onreadystatechange',initJS1) ...

  2. 原生js中如果有多个onload事件解决方案

    原生js中如果有多个onload事件解决方案 参考文章: (1)原生js中如果有多个onload事件解决方案 (2)https://www.cnblogs.com/happy-8090/p/11830 ...

  3. php iframe js加载不上,js iframe的onload事件不去作用的原因及解决办法

    通过createElement_x_x创建的iframe的onload事件在有些时候不响应,具体原因和解决办法如下. 首先,我们来看一下下面这种方法: function createFrame(){ ...

  4. jQuery的$(document).ready()和JavaScript onload事件

    对元素的操作和事件的绑定需要等待一个合适的时机,可以看下面的例子: <!DOCTYPE html> <metacharset="utf-8"> <ht ...

  5. jquery中DOM加载事件,onload事件和ready事件

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程4-事件操作全解 jquery中DOM加载事件 jquery中的DOM加载事件分为onload事件和ready事件.,具体功能如代码中注释. 代 ...

  6. uniapp在onLoad事件中不显示showToast的问题

    如题,最近开发uniapp,发现在onLoad事件中写的showToast无法正常显示,代码如下: onLoad(option){// 判断是否登录if (!this.hasLogin) {uni.s ...

  7. onload事件和ready方法的区别

    部分内容转载自ready和onload的区别 $(document).ready()和window.onload在表面上看都是页面加载时我们就去执行一个函数或动作,但是在 具体的细节上$(docume ...

  8. html标签onload,支持onload事件的HTML标签有哪些

    支持onload事件的HTML标签有:"body"."frame"."frameset"."iframe"." ...

  9. iframe的onload事件

    很多时候,我们会需要改变一个iframe的地址(src属性),或者使用表单(form)的target在指定的iframe进行提交后,在 iframe加载完毕(onload)时立即响应某个操作,以提高W ...

  10. JS的onload事件

    之前按照HTML规范在<head>中嵌套<script>,写JS脚本获取HTML元素并做操作,但有时会报错. 原因:报错 <- 元素为null <- 页面未加载完成 ...

最新文章

  1. 华为手机获取状态栏高度是错误的_华为后置指纹这么多功能,你不会还以为只能解锁和支付吧...
  2. bzoj 2152 聪明可可
  3. Linux学习之创建子进程
  4. 【收藏】spark中map与mapPartitions区别
  5. Java连接MySQL数据库 报错
  6. linux环境编程 学习,学习linux环境高级编程首先学习的是文件的操作。因为有.pdf...
  7. 2信号处理之:信号产生原因,进程处理信号行为,信号集处理函数,PCB的信号集,sigprocmask()和sigpending(),信号捕捉设定,sigaction,C标准库信号处理函数,可重入函数,
  8. PHP的Composer install、require、update
  9. tomcat(6)生命周期
  10. linux find 拷贝,通过find命令寻找文件并拷贝到一个指定目录方法详解
  11. 无线Hacking之D.O.S与AP欺骗
  12. Centos7下Confluence5.6.6安装
  13. 甘肃省计算机能力vf考试题库,计算机等级考试二级VF模拟试题十及答案解析
  14. 《Docker技术从入门到实践》第1,2章
  15. mysql函数大全之数字函数
  16. 20170330今日头条笔试题
  17. Java不停的gc_java – 我的应用程序不断运行Full GC!
  18. IEDA中maven设置远程仓库地址和maven Could not find artifact 问题解决
  19. 大拇指全程报导苹果发布会2014.9.9
  20. linux网络掉线频繁怎么设置,解决ssh登录的时候,没操作总是会自动掉线的设置办法,100%有效...

热门文章

  1. 【渝粤教育】电大中专Office办公软件 (15)作业 题库
  2. html怎么引用php文件,html页面怎么跟php文件连接
  3. 【大学生数学竞赛】公式大全(补充中)
  4. error: #109: expression preceding parentheses of apparent call must have (pointer-to-) function typ
  5. 保障出行安全|科力锐助力长沙黄花国际机场灾备建设
  6. azure云上 在线将oracle单实例扩展成oracle dataguard高可用集群的详细过程
  7. python虚拟环境中安装diango_安装Python虚拟环境和django
  8. 实验1的运行过程及心得体会
  9. JavaMail实现注册邮箱验证案例
  10. TPC/IP 协议头部说明