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 相关文章推荐
JS控件autocomplete 0.11演示及下载 1月5日已更新
Jan 09 Javascript
jQuery 对Select的操作备忘记录
Jul 04 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
Jun 03 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
Oct 19 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
Sep 19 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 Javascript
jQuery实现移动端Tab选项卡效果
Mar 15 Javascript
详解angular中的作用域及继承
May 31 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
vant中的toast轻提示实现代码
Nov 04 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
新52大事件
2020/03/03 欧美动漫
上海无线电三厂简史修改版
2021/03/01 无线电
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP递归创建多级目录
2015/11/05 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
两个Javascript小tip资料
2010/11/23 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
javascript操作cookie
2017/01/17 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
angular4 JavaScript内存溢出问题
2018/03/06 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
python使用mysql数据库示例代码
2017/05/21 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
工作失误检讨书范文大全
2014/01/13 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
庆元旦广播稿
2014/02/10 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
楚门的世界观后感
2015/06/03 职场文书