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 相关文章推荐
用jscript实现新建word文档
Jun 15 Javascript
jQuery Ajax 全解析
Feb 08 Javascript
关于firefox的ElementTraversal 接口 使用说明
Nov 11 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
纯JS打造网页中checkbox和radio的美化效果
Oct 13 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
用react-redux实现react组件之间数据共享的方法
Jun 08 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
浅谈JavaScript_DOM学习篇_图片切换小案例
Mar 19 Javascript
使用 UniApp 实现小程序的微信登录功能
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/02/20 PHP
php下封装较好的数字分页方法
2010/11/23 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
javascript 面向对象的JavaScript类
2010/05/04 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
深入koa-bodyparser原理解析
2019/01/16 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
跟老齐学Python之Python安装
2014/09/12 Python
python提取页面内url列表的方法
2015/05/25 Python
python杀死一个线程的方法
2015/09/06 Python
python实现K最近邻算法
2018/01/29 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
英文版餐饮业求职信
2013/10/18 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
职业规划书如何设计?
2014/01/09 职场文书
入党推优材料
2014/06/02 职场文书
基于python实现银行管理系统
2021/04/20 Python
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
简单介绍Python的第三方库yaml
2021/06/18 Python
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
我的收音机情缘
2022/04/05 无线电