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 相关文章推荐
dojo 之基础篇(二)之从服务器读取数据
Mar 24 Javascript
javascript学习笔记(七) js函数介绍
Jun 19 Javascript
jQuery 选择器详解
Jan 19 Javascript
初步认识JavaScript函数库jQuery
Jun 18 Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 Javascript
Jquery $when done then的用法详解
May 20 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
浅析location.href跨窗口调用函数
Nov 22 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
Mar 08 Javascript
weebox弹出窗口不居中显示的解决方法
Nov 27 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
Apr 12 Javascript
vue总线机制(bus)知识点详解
May 10 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应用提速面面观
2006/10/09 PHP
php简单smarty入门程序实例
2015/06/11 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
JS实现百度搜索框
2021/02/25 Javascript
从零学Python之引用和类属性的初步理解
2014/05/15 Python
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
pycharm远程调试openstack代码
2017/11/21 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
django中静态文件配置static的方法
2018/05/20 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
大学生大二自我鉴定
2013/10/28 职场文书
人力资源管理毕业生自荐信
2013/11/21 职场文书
创业计划书如何编写
2014/02/06 职场文书
食品安全承诺书
2014/05/22 职场文书
法学自荐信
2014/06/20 职场文书
宣传标语大全
2014/07/01 职场文书
2014年档案室工作总结
2014/12/01 职场文书
redis实现排行榜功能
2021/05/24 Redis