具体需求:

1. 为网页加载后触发的onload事件绑定多个执行函数

实现思路:

1. 可直接给onload绑定一个匿名函数,匿名函数内部调用多个函数

2. 可自定义个函数,首先保存之前window.onload的值,然后判断window.onload的类型是否为function,如果不是就让window.onload的值设置为自定义的函数,否则就先执行window.onload之前绑定的函数,然后在执行自定义的函数

具体代码:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"></head><body><script type="text/javascript">function func1(){alert(/(?:function)([^\(]+)/.exec(arguments.callee)[1])}function func2(){alert(/(?:function)([^\(]+)/.exec(arguments.callee)[1])}// 方法一, 给onload绑定一个匿名函数,在匿名函数内部调用多个函数window.onload = function(){func1()func2()}// 方法二, 定义一个函数来接受要绑定的方法,判断window.onload当前值来加载执行function addOnLoadEvent(func){var oldOnLoad = window.onloadif(typeof window.onload == 'function'){window.onload = function(){oldOnLoad()func()}}else{window.onload = func}}addOnLoadEvent(func1)addOnLoadEvent(func2)</script></body>
</html>

总结说明:

1. 强烈推荐第二种更加灵活的方式来创建多函数绑定,其实此方法还可以支持大多数内置事件处理方法,但是一定要注意的是一定要将函数赋值给window.onload,千万不要直接调用,不然会出现意想不到的结果.

转载于:https://blog.51cto.com/xmdevops/1854704

每日一题_JavaScript.两种方式实现网页加载后onload绑定多个函数?相关推荐

  1. 两种在CAD中加载在线卫星影像的方法

    概述 经常使用CAD的朋友应该会有这样的一个烦恼,就是当加载卫星图到CAD中进行绘图的时候,由于CAD本身的限制和电脑性能等原因,往往不能加载太大的地图图片到CAD内,这里给大家介绍两种在CAD内加载 ...

  2. 【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )

    文章目录 I . 视图绑定 ( ViewBinding ) 界面的两种方式 II . Activity 界面中 应用 视图绑定 ( ViewBinding ) III . Dialog 对话框界面中 ...

  3. 动态连接库的两种方式

    动态连接库的两种方式? 答案:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样.这需 ...

  4. 探讨Netty获取并检查Websocket握手请求的两种方式

    在使用Netty开发Websocket服务时,通常需要解析来自客户端请求的URL.Headers等等相关内容,并做相关检查或处理.本文将讨论两种实现方法. 方法一:基于HandshakeComplet ...

  5. linux中安shell怎么传入参数,【linux】linux 下 shell命令 执行结果赋值给变量【两种方式】...

    方法1:[通用方法] 使用Tab键上面的反引号 例子如下: find命令 模糊查询在/apps/swapping目录下 查找 文件名中包含swapping并且以.jar结尾的文件 使用反引号 引住命令 ...

  6. android 打开网页的两种方式.

    有时候我们要在自己的应用中打开一个网页. 这是本人用到 的两种方式. 1.  网页放置于自己的ACTIVITY              1.1 在资源文件中申明WIDGET <WebView ...

  7. VUE中页面跳转的常用方式及返回上一页实现的两种方式

    一.我们知道,如果是一个页面的某些部分切换变化,那不是网页之间的切换,而是子组件的切换:对于页面切换,我们需要知道的是整个页面的内容和路径都发生了改变.在原生JS中我们知道页面切换可以使用locati ...

  8. 3种Javascript图片预加载的方法详解

    3种Javascript图片预加载的方法详解 预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度. 这对图片画廊及图片占据很大比例 ...

  9. java两种绑定方式_Javascript绑定事件的两种方式的区别

    命名函数 function check(){ //code } 匿名函数 window.onload = function(){ //先获取元素对象,再绑定事件,绑定的是匿名函数不可重用 var bt ...

  10. Eclipse安装SVN插件的两种方式

    登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 23小时以前 CSDN日报 ...

最新文章

  1. Spring MVC配置静态资源的正常访问
  2. abb外部轴零位校准_ABB机器人如何控制非同步联动外部轴
  3. 谈谈如何学习flutter之flutter成神之路
  4. RFC remote call during status filter logic
  5. JAVA的值传递问题
  6. 【转】ABP源码分析十三:缓存Cache实现
  7. 解决JAVA_HOME nor the JRE_HOME environment variable is defined
  8. Hive-RCFile文件存储格式
  9. Shell中各种括号的作用:()、(())、[]、[[]]、{}、>、>>、$()、${}
  10. 内网通怎么获得无限积分
  11. CefSharp 知道这些就完事了
  12. java判断日文_如何在Java字符串中检测日文文本?
  13. 最新鑫迪自助建站系统源码V1.1完整版
  14. Java游戏神秘岛,【寻找高玩】服务端整合问题
  15. python人脸识别项目_face++与python实现人脸识别签到(考勤)功能
  16. Aspose.Slides使用教程:使用 C# 在 PowerPoint 演示文稿中添加页眉和页脚
  17. 黑盒测试、白盒测试与灰盒测试方法
  18. matlab snapnow,任意倾斜椭圆方程的画法.pdf
  19. 嵌入式学习笔记(一)嵌入式操作系统测试
  20. linux内核内存问题检测调试

热门文章

  1. C#中启动外部应用程序
  2. Error creating object Microsoft Data Access Components 2.1 (or later) have been properly installed
  3. 两种模式的资源管理器代码之———— 删除文件夹
  4. Spring学习笔记(四)
  5. jenkins插件管理提示“update information obtained:不可用ago”
  6. [网络流24题] 最长k可重线段集问题 (费用流)
  7. 企业库2.0培训系列课程大纲[意见征询]
  8. Entity Resolution(实体解析)
  9. BotVS数字货币现货交易类库
  10. mongodb聚合内存不足解决方案