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 相关文章推荐
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 Javascript
setTimeout和setInterval的深入理解
Nov 08 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
Sep 01 Javascript
JavaScript实现动态删除列表框值的方法
Aug 12 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
Mar 08 Javascript
浅谈JS如何实现真正的对象常量
Jun 25 Javascript
webpack之devtool详解
Feb 10 Javascript
vue计算属性get和set用法示例
Feb 08 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
prototype Element学习笔记(篇二)
2008/10/26 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
python 动态调用函数实例解析
2019/10/21 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
失业者真诚求职信范文
2013/12/25 职场文书
银行开业庆典方案
2014/02/06 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers