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 相关文章推荐
javascript 事件查询综合 推荐收藏
Mar 10 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
Oct 21 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
Mar 04 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
Sep 15 Javascript
jquery实现点击页面回到顶部
Nov 23 Javascript
JS实现页面打印功能
Mar 16 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
May 07 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
javascript遍历对象的五种方式实例代码
Oct 24 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
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
php写的简易聊天室代码
2011/06/04 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
客户端静态页面玩分页
2006/06/26 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python之str操作方法(详解)
2017/06/19 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
pandas值替换方法
2018/07/10 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
django 信号调度机制详解
2019/07/19 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
医学生求职自荐书
2014/06/12 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
初婚未育证明样本
2015/06/18 职场文书
instantclient客户端 连接oracle数据库
2022/04/26 Oracle
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript