js函数的延迟加载实现代码


Posted in Javascript onOctober 11, 2012
//非延迟加载的函数,每次调用都会进行条件判断 
function removeHandler(target,eventType,handler) { 
if(target.removeEventListener) { 
target.removeEventListener(eventType,handler,false); 
}else { 
target.detachEvent("on"+eventType,handler); 
} 
} 
//延迟加载的函数,第一次调用后,会覆盖原来的老函数,以后再次调用的是新函数,不会再进行条件的判断,提升效率 
function addHandler(target,eventType,handler) { 
if(target.addEventListener) { 
addHandler = function(target,eventType,handler){ 
target.addEventListener(eventType,handler,false); 
} 
}else{ 
addHandler = function(target,eventType,handler){ 
target.attachEvent("on"+eventType,handler); 
} 
} 
addHandler(target,eventType,handler); 
} 
//条件预加载 
//条件预加载确保所有函数调用时间相同。其代价是在脚本加载时进行检测。预加载适用于一个函数马上就会被用到,而且在整个页面生命周期中经常使用的场合。 
var addEventHandler = document.body.addEventListener ? function(target,eventType,handler) { 
target.addEventListener(eventType,handler,false); 
} : function(target,eventType,handler) { 
target.attachEvent("on"+eventType,handler); 
}
Javascript 相关文章推荐
对YUI扩展的Gird组件 Part-1
Mar 10 Javascript
JavaScript 撑出页面文字换行
Jun 15 Javascript
JavaScript中几种常见排序算法小结
Feb 22 Javascript
jquery click([data],fn)使用方法实例介绍
Jul 08 Javascript
node.js WEB开发中图片验证码的实现方法
Jun 03 Javascript
jQuery实现tab标签自动切换的方法
Feb 28 Javascript
实例详解angularjs和ajax的结合使用
Oct 22 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 Javascript
JS实现拼图游戏
Jan 29 Javascript
javascript中方便增删改cookie的一个类
Oct 11 #Javascript
js事件(Event)知识整理
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 #Javascript
You might like
网页上facebook分享功能具体实现
2014/01/26 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
js不是基础的基础
2006/12/24 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
轮播图组件js代码
2016/08/08 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
Django model序列化为json的方法示例
2018/10/16 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
Python2与Python3的区别实例分析
2019/04/11 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
python tornado修改log输出方式
2019/11/18 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
路政管理毕业自荐书范文
2014/02/10 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
《掌声》教学反思
2014/02/23 职场文书
项目合作意向书范本
2014/04/01 职场文书
作文评语集锦大全
2014/04/23 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
会议欢迎词范文
2015/01/27 职场文书
导游词之江西赣州
2019/10/15 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server