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 小练习(实例代码)
Aug 07 Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
基于JavaScript自定义构造函数的详解说明
Apr 24 Javascript
完美解决AJAX跨域问题
Nov 01 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
JavaScript编写棋盘覆盖代码详解
Aug 28 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
template.js前端模板引擎使用详解
Oct 10 Javascript
AngularJS动态添加数据并删除的实例
Feb 27 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
vue-cli2 构建速度优化的实现方法
Jan 08 Javascript
发布订阅模式在vue中的实际运用实例详解
Jun 09 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自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
php日历制作代码分享
2014/01/20 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
js实现文字滚动效果
2016/03/03 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
python xpath获取页面注释的方法
2019/01/14 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
工作保证书范文
2014/04/29 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
检讨书大全
2015/01/27 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
如何使用SQL Server语句创建表
2022/04/12 SQL Server