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中使用ajax获取远程页面信息
Nov 13 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
Nov 25 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
jquery小火箭返回顶部代码分享
Aug 19 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
Nov 17 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
JavaScript File分段上传
Mar 10 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
最简单的JS实现json转csv的方法
Jan 10 Javascript
ES5新增数组的实现方法
May 12 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
Python类的基础入门知识
2008/11/24 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
Python 在局部变量域中执行代码
2020/08/07 Python
css3弹性盒模型实例介绍
2013/05/27 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
合作意向协议书
2015/01/29 职场文书
质量保证书怎么写
2015/02/27 职场文书
车辆挂靠协议书
2016/03/23 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS
Python中for后接else的语法使用
2021/05/18 Python
德劲DE1105机评
2022/04/05 无线电