window.onload绑定多个事件 —— 两种解决方案
前言
有些函数,必须在网页加载完毕后执行。比如:涉及DOM操作的。
网页加载完毕时会触发一个onload事件,将函数绑定到这个事件上即可。
window.onload = myFunction;
问题来了:如果需要同时绑定多个事件,该如何处理呢?有两种解决方法
方案一
创建一个匿名函数,来容纳需要绑定的多个事件,再讲这个匿名函数绑定到onload事件上
 window.onload = function(){
    firstFunction();
    secondFunction();
    ......
 }
方案二
由Simon Willsion编写的addLoadEvent函数:
 function addEventLoad(func){
    var oldOnload = window.onload;
    if(typeof window.onload != 'function'){
        window.onload = func;
    }else{
         window.onload = function(){
              oldOnload();
              func();
         }
    }
 }
- 将现有的window.onload事件处理函数的值存入变量oldOnload
- 如果这个处理函数上还没有绑定函数,则和那样把新函数绑定给它。
- 如果已经绑定了函数,则把新的函数追加到指令的末尾。
调用方法:
addEventLoad(firstFuction);
addEventLoad(secondFuction);
window.onload绑定多个事件 —— 两种解决方案的更多相关文章
- javascript文件夹选择框的两种解决方案
		javascript文件夹选择框的两种解决方案 解决方案1:调用windows 的shell,但会有安全问题. * browseFolder.js * 该文件定义了BrowseFolder()函数,它 ... 
- PHP中实现MySQL嵌套事务的两种解决方案
		PHP中实现MySQL嵌套事务的两种解决方案 一.问题起源 在MySQL的官方文档中有明确的说明不支持嵌套事务: Transactions cannot be nested. This is a co ... 
- Android 的保活的两种解决方案
		原文链接:http://blog.csdn.net/pan861190079/article/details/72773549 详细的阐述了 Android 的保活的两种解决方案 —— 由panhao ... 
- onbeforeunload事件两种写法及效果
		在符合W3C标准的浏览器里,可以使用addEventListener方法来添加事件. 当不需要为一个事件添加多个处理函数的时候,可以简单的使用onXXX=function(){}的方式来添加事件处理函 ... 
- Java学习笔记——可视化Swing中JTable控件绑定SQL数据源的两种方法
		在 MyEclipse 的可视化 Swing 中,有 JTable 控件. JTable 用来显示和编辑常规二维单元表. 那么,如何将 数据库SQL中的数据绑定至JTable中呢? 在这里,提供两种方 ... 
- WinForm中DataReader绑定到DataGridView的两种方法
		在WinForm中,DataReader是不能直接绑定到DataGridView的,我想到了用两种方法来实现将DataReader绑定到DataGridView. SqlCommand command ... 
- Ajax保留浏览器历史的两种解决方案(Hash&Pjax)
		总是在github down点东西,github整个界面做的不错,体验也很好~对于其中的源代码滑动的特效最为喜欢了~刚开始以为这个只是普通的ajax请求效果,但是发现这个特效能够导致浏览器地址栏跟随变 ... 
- angularjs中使用锚点,angular路由导致锚点失效的两种解决方案
		壹 ❀ 引 公司新项目开发中,首页要做个楼层导航效果(如下图),要求能点击图标对应跳到楼层即可,因为不需要跳转过度动画,也要求最好别用JQ,想着原生js操作dom计算top的兼容性,想着用锚点实现算 ... 
- 将input file的选择的文件清空的两种解决方案
		<input type="file" id="fileupload" name="file" /> 上传文件时,选择了文件后想清 ... 
随机推荐
- BZOJ2671 Calc  【莫比乌斯反演】
			题目链接 BZOJ2671 题解 令\(d = (a,b)\),\(a = dx,b = dy\) 那么有 \[ \begin{aligned} d(x + y) | d^2xy \\ (x + y) ... 
- 【bzoj3575】 Hnoi2014—道路堵塞
			http://www.lydsy.com/JudgeOnline/problem.php?id=3575 (题目链接) 题意 给出一个有向图和一条最短路,问最短路上任意一条边断掉,此时的最短路是多少. ... 
- 方程式EQGRP_Lost_in_Translation工具之fb.py
			使用方法: 环境搭建:win2003下测试: 下载python2.6并安装 下载pywin32并安装 将C:\Python26添加到环境变量PATH中 将整个windows目录复制到windows20 ... 
- google插件备份与安装
			说明 chrome浏览器中有很多有用的扩展程序, 但是可能因为某些原因我们不能直接去扩展程序商店进行下载获取, 如果我们自己电脑上已经通过某种方式添加了扩展程序, 想把它移植到其他没有FQ或者压根没有 ... 
- Codeforces Round #426 (Div. 2)  D  线段树优化dp
			D. The Bakery time limit per test 2.5 seconds memory limit per test 256 megabytes input standard inp ... 
- Kubernetes init container
			目录 简介 配置 init container与应用容器的区别 简介 在很多应用场景中,应用在启动之前都需要进行如下初始化操作: 等待其他关联组件正确运行(例如数据库或某个后台服务) 基于环境变量或配 ... 
- django 线上教育平台开发记录
			1.环境搭建 2.新建项目 1).首先通过 django-admin 新建一个项目,(例如项目名为mxonline) django-admin startproject mxonline 运行后会出现 ... 
- __metaclass__ 实现单列模式
			class Singleton(type): """Singleton. @see: http://stackoverflow.com/questions/6760685 ... 
- 浅谈 vue实例 和 vue组件
			vue实例: import Vue from 'vue'; import app from './app'; import myRouter from './routers'; new Vue({ e ... 
- nltk_28Twitter情感分析模型
			sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ... 
